Python でフォルダを一括作成

プログラミング

こんにちは、ITOです。最近は情報社会ですね。

パソコンでフォルダを作るという行為は毎日やっています。

そんなフォルダ作成について、、、

先日、というか今まで何度も、あるフォルダの中に 1月 から 12月 までのフォルダを作成することがありました。

これがなかなかめんどいです、、、

私は windows を使っているので、

新しいフォルダを作成 ショートカット

Ctrl + Shift + N

で新しいフォルダーを作成してもいいのですが、それでも少しだけ面倒です。

そこで指定したフォルダに1月、2月、3月、 … 、12月とフォルダを自動で作成しました。

Python を使う

自動でフォルダを作る方法はいろいろあるみたいです!

今回は簡単にできると噂されている python でやってみます。

os モジュール

パイソンにてフォルダを作ったり、削除したりするには os モジュールを利用します。

tkinter

フォルダの自動作成には直接関係ない部分ではありますが、対象のフォルダをダイアログ(エクスプローラー的なやつ)で指定するために tkinter というモジュールを使用してます。

こんな感じのやつです。今回はダウンロードフォルダを選びます!

ソースコード

いきなりコードです。

python
import os
import tkinter as tk
import tkinter.filedialog

def make_folder():
    root = tk.Tk()
    root.withdraw()
    target_dir = tkinter.filedialog.askdirectory()

    for i in range(12):
        # 新しく作るフォルダのパス
        new_dir = os.path.join(target_dir, str(i+1)+"月")

        # フォルダの存在確認をしてから作成
        if not os.path.isdir(new_dir):
            os.mkdir(new_dir)

def main():
    make_folder()

対象フォルダの指定

6行目から8行目で 1月 から 12月 のフォルダを作りたいフォルダを選択します。

7行目で tkinter のGUIを非表示にしています。。今は使わないので。。

8行目の askdirectory() でフォルダ選択のダイアログを呼び出し、選択したフォルダのパスを target_dir に格納しています。

変数名の target_dir の dir は directory (ディレクトリ) の意味です。フォルダとディレクトリはほぼ同じだと思ってください!

あまり使わない分、ディレクトリのほうがなんかカッコイイ感じがします。

フォルダの大量作成

ここから本題のフォルダ作成!! for 文で12回ぐるぐるまわします。

12行目で新たに作成するフォルダのパスが出来上がります。

今回の for 文の i は 0、1、 … 、11 なので、、フォルダ名にする時にはプラス1します!

最後に15行目の if 文で新たに作成しようとしているフォルダが既に存在していないかチェックして、存在していなければ、めでたく作成となります。

isdir 関数は引数に指定したパスをチェックして、そのディレクトリが存在していれば True、してなかったら False を返すやつです。

ここで存在確認をせずに実行して、もし存在していた場合には16行目の mkdir 関数でエラーが出ます。。

最後の main()

最後の18・19行目は実行するのには必要ないのですが、これがないと何故か web ページ上でのパイソンのハイライトがおかしくなってしまったので書いてます。関数名は main でなくてもなんでもOKっす。

highlight.js の問題なのか、ワードプレスの問題なのかは今の僕にはわかりません。。。

タブとかスペースの関係なのか???

分かる方がいらっしゃれば教えて欲しいです!

実行してみます

プログラムを実行しダウンロードフォルダを選択しました!

しっかりと作成できています!!

ちなみに、、、10行目の range(12) を range(100) にしてやってみます。おそらく100月までできる。

しっかり100月までできています。これで1年が100月まである時空に異世界転生しても安心です。

python なら簡単に自動フォルダ作成ができました!

今回やった月ごとのフォルダ作成だけでなくていろいろ応用できそうです。

これで地獄のフォルダ作成から解放されます。

コメント

タイトルとURLをコピーしました