【コピペでOK】日常で使えるPython入門、フォルダをまとめて作成する方法

Python

Python初心者「基礎を勉強してるけど、何か日常に役立つことできないかなぁ。」

こういった人にオススメです。

本記事では、Pythonを使ってフォルダをまとめて作成する方法について紹介します。
具体例として学校の教科別のフォルダをまとめて作成します。

    今まで
    (右クリック → 新規作成 → フォルダを選択 → 名前変更)× 必要フォルダ数
     
    これを読むと、
    (事前にテキストファイルを用意 → Pythonファイルを実行 → 全フォルダ作成)

 
コードは、コピペで動くのでぜひスマートなフォルダ作成をマスターしてください。

これから用意する構造

.
├── make_folder.py
└── subject.txt

. は、まとめてフォルダを作成したい場所に設定してください。手順3つです。
 

手順①:テキストファイル(.txt)を用意

まずは、テキストファイルに作成したいフォルダ名を箇条書きします。

こんな感じです。(ファイル名は、subject.txt)

放射線治療技術学
診療画像学Ⅱ
薬理学
放射線治療機器工学
放射線治療技術学実習
医用工学実習
免疫学Ⅰ
磁気共鳴学
医用画像情報学Ⅰ
医療安全管理学
病理学Ⅰ
放射線腫瘍学
核医学技術学
放射線管理学
CT画像技術学

ポイント:フォルダ名ごとに改行する

 

手順②:Pythonファイル(.py)の作成

ここは、コピペでOKです。

ファイル名:make_folder.py

import os

with open('./subject.txt') as f:
    subject_list = [s.strip() for s in f.readlines()]

for subject in subject_list:
    os.mkdir('./'+'{}'.format(subject))

コードの説明は、一番下の補足のところで簡単に説明します。
 

手順③:Pythonファイルの実行

$ python3 make_folder.py

最終構造

.
├── CT画像技術学
├── make_folder.py
├── subject.txt
├── 免疫学Ⅰ
├── 医用工学実習
├── 医用画像情報学Ⅰ
├── 医療安全管理学
├── 放射線治療技術学
├── 放射線治療技術学実習
├── 放射線治療機器工学
├── 放射線管理学
├── 放射線腫瘍学
├── 核医学技術学
├── 病理学Ⅰ
├── 磁気共鳴学
├── 薬理学
└── 診療画像学Ⅱ

 

以上でまとめてフォルダを作成することができました。
最初にテキストファイルですべてのフォルダ名を書き出しているのでマウス操作より効率的にフォルダ作成できます。
目に見える結果となるのでPython初心者のモチベーションにつながるかと思います。

記事を書いている僕自身がプログラミングを独学した方法は、下のリンクで貼っておきます。

【挫折経験あり】現役大学生がプログラミングを独学した方法

なるべくお金をかけずに習得したい。何が分からないかが分からず、挫折したくない。漠然とした将来への不安。記事を書いている僕自身も漠然とした不安からプログラミングを独学で始めましたが、何が分からないかが分からず挫折してしまった経験があります。この記事では、そんな大学生の僕が挫折から立ち上がり、半年間、プログラミングを独学で続けられた体験談についてお話します。

» この記事を読む

 

補足:コードの説明

ファイル名:make_folder.py

import os

with open('./subject.txt') as f:
    subject_list = [s.strip() for s in f.readlines()]

for subject in subject_list:
    os.mkdir('./'+'{}'.format(subject))

import os は、osというPythonのモジュールを使用するための宣言です。
osは、PCのシステム側の操作(ファイル操作など)をPythonで実行するためのモジュールです。

with open で事前に用意したテキストファイルをfという変数で開きます。
[s.strip() for s in f.readlines()] は、readlines() でテキストファイルの行ごとにリスト化し、strip() で改行のコードを削除している。これにより、テキストファイルをリスト化してsubject_list に代入している。
この[s.strip() for s in f.readlines()] は、ファイル操作でよく使うので覚えておくと便利です。

最後の2行でフォルダの作成を命令します。for文を用いてそれぞれのsubject_list の中身を順番に繰り返し取得し、os.mkdir(「作成するフォルダのパス」) で「作成するフォルダのパス」のところに順番にテキストファイルの中身を代入しています。formatを用いて代入することで、作成するフォルダ名が数字のときでもエラーにならないようにしています。