群馬県でPythonを使ったAIやシステムを開発しているファントム

Navigation
群馬県でPythonを使ったAIやシステムを開発しているファントム

群馬県でPythonを使ったAIやシステムを開発しているファントムです。企業の経営課題を最適なテクノロジーで解決します。テックブログではPythonを中心にプログラミングに役立つ情報を発信しています。

投稿を検索する


  • 株式会社ファントム コーポレートサイト

カテゴリー



  • AWS 16
  • Django 45
  • FastAPI 4
  • Flask 8
  • GCP 1
  • Information 37
  • Other 32
  • PHP 2
  • Python 93
  • Pythonista 3
  • Rust 1

タグ


Alembic API argparse Beautiful Soup black Channels charset CodeCommit datetime Django REST framework Docker enumerate f-string git GitHub glob Google Colaboratory i18n IAM Internship Jupyter Lambda Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Sentry slack tqdm uWSGI venv Vue.js youtube
このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。

© 2022 Fantom, Inc.

Hydra WordPress Theme by EckoThemes.

Published with WordPress.

Related Articles

Filter by Category

  • Python(93)
  • Django(45)
  • Information(37)
  • Other(32)
  • AWS(16)
  • Flask(8)
  • FastAPI(4)
  • Pythonista(3)
  • PHP(2)
  • GCP(1)
  • Rust(1)

Filter by Author

  • EIGHT (14)
  • hayai017 (2)
  • press (196)
Back to Latest Articles
Python

Pythonでファイル・ディレクトリを削除する

Pythonでファイル・ディレクトリを削除する 日付形式のディレクトリを管理していると古いデータを定期的に整理する必要が出てきます。特に画像ファイルなどの日々大量に生成されるデータを扱うシステムでは、ストレージの圧迫を防 […]

Posted on 9th 11月 2024 by press

AWS

GitHub Actionsで Lambdaにデプロイ失敗した原因を調査

GitHub Actionsで Lambdaにデプロイ失敗した原因を調査 GitHub ActionsでLambdaへデプロイ中に発生したエラーを調査し、適切なポリシーの追加と deploy.ymlへのコマンド追加で解消 […]

Posted on 5th 9月 2024 by press

AWS

GitHub ActionsでAWS Lambdaに自動デプロイ

GitHub ActionsでAWS Lambdaに自動デプロイ DevOpsの実践において、CI / CD(継続的インテグレーション / 継続的デリバリー)は欠かせない要素となっています。特に、クラウドサービスを活用し […]

Posted on 4th 9月 2024 by press

AWS

Pythonのコマンドラインで特定の関数のみを指定して実行する

Pythonのコマンドラインで特定の関数のみを指定して実行する AWS Lambdaではプログラム実行時に関数を指定しますが、pythonコマンドは通常、ファイル単位で指定するのでそのままでは実行できません。そのためロー […]

Posted on 2nd 9月 2024 by press

Python

PythonとGhostscriptでPDFを軽量化

PythonとGhostscriptでPDFを軽量化 書類の添付などでブラウザからPDFをアップロードする際に数MB以下にしないとアップロードできないことがありますが、印刷用に作成したPDFや複数画像を一枚にまとめたPD […]

Posted on 9th 6月 2024 by press

FastAPI

Alembicでheadが複数存在する時に発生するエラーの修正

Alembicでheadが複数存在する時に発生するエラーの修正 FastAPI, PostgreSQL, Alembicで開発中のプロジェクトで、alembic upgrade headコマンドでマイグレーションを実行し […]

Posted on 26th 4月 2024 by press

Other

Jetson NanoのWiFiモジュール取り付け手順

Jetson NanoのWiFiモジュール取り付け手順 Jetson NanoはNVIDIA社が提供するGPUを搭載した小型かつ低電力で動作する開発用ボードです。GPUを搭載しているのでCUDAを使って画像処理などの並列 […]

Posted on 21st 4月 2024 by press

Information

2024年度 長期インターンシップについて

2024年度 長期インターンシップについて For English page 概要 2024年度 インターンシップの募集を開始します。 募集内容 ・インターンシップ 募集職種 ・機械学習エンジニア・ウェブアプリケーション […]

Posted on 19th 4月 2024 by press

Information

Announcement about Internships for 2024

Announcement about Internships for 2024 日本語のページ Overview Recruitment for the 2024 internship program is now op […]

Posted on 19th 4月 2024 by press

Other

2023年に最も読まれた記事ランキング

2023年に最も読まれた記事ランキング あけましておめでとうございます2024年もどうぞよろしくお願いします ファントムは2024年も皆様のお役に立てるよう精進しますより一層のご支援、お引立てを賜りますようお願い申し上げ […]

Posted on 4th 1月 2024 by press

AWS

CodePipelineでCodeBuildのテストを自動化

CodePipelineでCodeBuildのテストを自動化 CodeCommitで管理しているリポジトリをCodeBuildでテストする場合は通常、手動でテストを実行させる必要がありますが、CodePipelineを使 […]

Posted on 12th 12月 2023 by press

AWS

AWS CodeCommitでプルリクエスト・マージ

AWS CodeCommitでプルリクエスト・マージ ソースコードの管理にはGitHubやGitLabを採用している方が多いかもしれませんが、AWSにもCodeCommitというサービスがあり、5人までは無料で5人以上で […]

Posted on 12th 12月 2023 by press

FastAPI

FastAPI + SQLAlchemy + Alembic + SQLiteでマイグレーション

FastAPI + SQLAlchemy + Alembic + SQLiteでマイグレーション FastAPIにはデータベースのマイグレーション機能はありませんが、Alembicというデータベースのマイグレーションツー […]

Posted on 5th 12月 2023 by press

AWS

AWS LambdaとS3、SNSでファイルのアップロードを自動通知

AWS LambdaとS3、SNSでファイルのアップロードを自動通知 AWS Lambdaは特定の条件を満たすときにサーバーレスでPython(他のプログラミング言語も)を実行できるサービスです。トリガーを検知したときや […]

Posted on 21st 11月 2023 by press

Other

GitHubリポジトリを別のOrganizationに移行

GitHubリポジトリを別のOrganizationに移行 非公開用のOrganization(組織)で管理していたリポジトリの公開範囲をプライベートから公開に変更するにあたって、リポジトリを別のOrganization […]

Posted on 20th 11月 2023 by press

Python

PythonとMoviePyで動画ファイルの指定時間ごとの分割を自動化

PythonとMoviePyで動画ファイルの指定時間ごとの分割を自動化 OpenCVなどで動画の処理を行う際に、1分毎の変化や10分毎に結果を見たいときに一連の動画から指定した時間毎に分割して切り出したいことがあります。 […]

Posted on 20th 11月 2023 by press

Python

OpenCVで動画ファイルの最終フレームを取得

OpenCVで動画ファイルの最終フレームを取得 PythonとOpenCVを使用して動画ファイルの最大フレーム数を取得する方法を解説をします。処理の確認用に取得した最大フレーム数とファイル名をソートして表示させます。 コ […]

Posted on 6th 11月 2023 by press

AWS

Amazon Route 53で新規ドメインを登録

Amazon Route 53で新規ドメインを登録 ウェブサイトやウェブサービスを運営する際にドメインは欠かせない要素です。この記事では、Amazon Route 53で新しいドメインを登録する方法について解説します。 […]

Posted on 19th 10月 2023 by press

Other

GitHub CopilotをPyCharmで使用するまでの手順

GitHub CopilotをPyCharmで使用するまでの手順 GitHub Copilotは、プログラミングの効率を飛躍的に向上させるツールで、開発者にとって非常に便利なコーディングのサポートを提供します。本記事では […]

Posted on 17th 10月 2023 by press

Python

PyCharm 2023.2から追加されたBlackによるコード成形

PyCharm 2023.2から追加されたBlackによるコード成形 Pythonのコード成形で人気のBlackがPyCharm 2023.2から環境設定画面で設定可能になりました。従来はpipなどでインストールしていま […]

Posted on 13th 9月 2023 by press

View Latest Posts
Python

Pythonでファイル・ディレクトリを削除する


press
Pythonでファイル・ディレクトリを削除する
Posted on 9th 11月 2024 by press
2024年度 インターンシップ 募集開始

Pythonでファイル・ディレクトリを削除する

日付形式のディレクトリを管理していると古いデータを定期的に整理する必要が出てきます。特に画像ファイルなどの日々大量に生成されるデータを扱うシステムでは、ストレージの圧迫を防ぐため過去のデータを自動的に削除する仕組みが重要です。

Pythonを使って日付別のディレクトリを判別し、特定の日付より古いディレクトリを安全に削除する方法を解説します。

開発環境

PC: MacBook Pro (14, 2021)
OS: macOS Monterey 12.6.7
Python: 3.11.6

ファイル・ディレクトリ削除のコード

import datetime
import os
import shutil

base_directory = "images"

current_date = datetime.datetime.now()
today_date_int = int(current_date.strftime("%Y%m%d"))

if not os.path.exists(base_directory):
    print(f"指定されたディレクトリ '{base_directory}' が存在しません。")
else:
    for dir_name in os.listdir(base_directory):
        if dir_name.isdigit() and len(dir_name) == 8 and int(dir_name) < today_date_int:
            dir_path = os.path.join(base_directory, dir_name)
            try:
                shutil.rmtree(dir_path)
                print(f"削除しました: {dir_path}")
            except Exception as e:
                print(f"削除に失敗しました: {dir_path} - エラー: {e}")

解説

import datetime
import os
import shutil

ライブラリのインポート

base_directory = "images"

削除対象のディレクトリを指定

current_date = datetime.datetime.now()
today_date_int = int(current_date.strftime("%Y%m%d"))

現在の日付の取得と取得した値を整数フォーマットに変換

if not os.path.exists(base_directory):
    print(f"指定されたディレクトリ '{base_directory}' が存在しません。")

指定したディレクトリが存在するかを確認

else:
    for dir_name in os.listdir(base_directory):

指定したディレクトリ内のサブディレクトリやファイルの名前を取得

if dir_name.isdigit() and len(dir_name) == 8 and int(dir_name) < today_date_int:

dir_name.isdigit()
数字のみで構成されているか確認

len(dir_name) == 8
文字列の長さが8文字であることを確認

int(dir_name) < today_date_int
dir_name を整数に変換して今日の日付よりも前であるかを確認

dir_path = os.path.join(base_directory, dir_name)
try:
    shutil.rmtree(dir_path)
    print(f"削除しました: {dir_path}")
except Exception as e:
    print(f"削除に失敗しました: {dir_path} - エラー: {e}")

os.path.join(base_directory, dir_name)
base_directory と dir_name を結合して削除対象のディレクトリのパスを生成

shutil.rmtree(dir_path)
指定したディレクトリ dir_path を削除します。

try-except
削除に失敗した場合にはエラーメッセージを表示、削除に成功した場合には削除完了のメッセージを表示

ファントムYouTubeチャンネル

株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    press
    • datetime
    • shutil
    • Share Article:
    • Twitter
    • Facebook
    • Pinterest
    • LinkedIn
    • Reddit

    Related Articles

    Other

    GitHub CopilotをPyCharmで使用するまでの手順

    GitHub CopilotをPyCharmで使用するまでの手順 GitHub Copilotは、プログラミングの効率を飛躍的に向上させるツールで、開発者にとって非常に便利なコーディングのサポートを提供します。本記事では […]

    Posted on 17th 10月 2023 by press
    Python

    PythonのRequestsを使ってSlackに通知

    PythonのRequestsを使ってSlackに通知 フォームから送られた内容やプログラムの処理結果や途中結果をSlackに通知する方法です。 以下のコードのBOT USER TOKENとCHANNEL NAMEを任意 […]

    Posted on 28th 2月 2022 by press