土. 4月 20th, 2024

スキルシェアリング.info

さまざまな問題にITスキルで立ち向かうITソリューションブログ

【Python】当日日付をフォルダ名に持つフォルダを自動作成するスクリプト

はじめに

どうもMizokeiです。
社内のシステム担当という立場だと、自動的にフォルダを作成するスクリプトは意外にも役立ちます。

定期的にCSVダウンロードしたファイルを日付ごとに区切ってフォルダに格納しておいたり、バックアップを取ったり…。中には、他部署の人とのやり取りで定期的にデータを共有するかもしれません。

そんなときに、自動的にフォルダを作成するスクリプトがあると非常に便利です。簡単に作れるので、記載しておきますね。以下、実行環境です。

実行環境

  • Windows10 64bit
  • Python 3.7

まずはモジュールのインポートから

今回は、以下の2つのモジュールを使用します。フォルダ名に日付を入れるので、datetimeを使用していますが、単純にフォルダを作成するだけですと、osモジュールのみで問題ありません。

  • os
  • datetime

以下のコードでインポートします。

フォルダ名用に日付を取得してフォルダ名を作る

まずは以下のコードで日付を取得しましょう。

次に、yyyymmddを文字として取得したいので、yyyymmddのフォーマットで文字列を取得します。

そして、フォルダ名として文字列を定義しましょう。今回は、「自動作成」という文言を追加してみます。

プログラムファイルのフォルダパスを取得する

フォルダの存在確認のために、今実行しているPythonスクリプトのフォルダパスを取得しなければなりませんね。以下のコードで、スクリプトの絶対パスを取得しましょう。

先程定義したフォルダ名と連結し、作成するフォルダパスを作ります。

フォルダの存在有無チェック

フォルダを作成する前に、すでにフォルダが存在するか確認したほうが良いでしょう。以下のif文コードで、対象のフォルダがあるかどうかを判定します。

対象フォルダが無ければ作成するので、以下のコードで、フォルダを自動的に作りましょう。

実行してみる…

スクリプトを実行すると、今日の日付20200121を含むフォルダが作成されていますね。いい感じです。

自動作成されたフォルダ

このスクリプトを単体で使用するというよりは、タスクスケジューラ等で、定期的にこのpythonスクリプトを実行するように設定しておくと、毎日のフォルダを自動作成してくれるので便利ですね。

数行のコードでフォルダ作成できる

以下のコードが今回作成したスクリプトコードの全文です。いろいろコメントを付けてもそんなに長くないプログラムですよね。コピペしていろいろ変えて使ってみてください。

この記事が誰かの役に立てれば幸いです。それでは。