きっかけ
- 大学等で半年に1回科目ごとに授業のフォルダを作っていたが,地味にめんどくさい
- プログラム書いて少しだけ楽したい
作成したプログラム
-
classes.txt
のような授業回数と科目のリストを読み込み,科目ごとのフォルダを生成するプログラムfolderGenerate.py
clases.txt15 フランス語 英語 線形代数 解析
1行目は授業回数,2行目以降に科目名のリストを入力
folderGenerate.pyimport os f = open('classes.txt','r', encoding='utf-8_sig') l = f.readlines() f.close() l = [v.replace('\n','') for v in l] class_num = int(l[0]) for v in l[1:]: os.mkdir(v) [os.mkdir(v+'/'+str(i)) for i in range(1, class_num+1)]
-
筆者のWindows環境ではopen()関数で文字コード関連で怒られた
- 以下の記事を参考にして
encoding='utf-8_sig'
を付け加えた - https://qiita.com/Yuu94/items/9ffdfcb2c26d6b33792e
- 以下の記事を参考にして
ファイルの配置
- "1年生春学期"など任意のフォルダ下に作成した2つのプログラムを配置
- あるいは,任意のフォルダの絶対パスをみて,Pythonプログラムの
path=''
の部分をpath='{絶対パス}'
に変更
実行結果
- 実行
- 実行後,コマンドプロンプトやターミナルから
cd
で作業中のフォルダに移動し,tree
コマンド実行-
tree
実行結果
├─フランス語 │ ├─1 │ ├─10 │ ├─11 │ ├─12 │ ├─13 │ ├─14 │ ├─15 │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ ├─6 │ ├─7 │ ├─8 │ └─9 ├─線形代数 │ ├─1 │ ├─10 │ ├─11 │ ├─12 │ ├─13 │ ├─14 │ ├─15 │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ ├─6 │ ├─7 │ ├─8 │ └─9 ├─英語 │ ├─1 │ ├─10 │ ├─11 │ ├─12 │ ├─13 │ ├─14 │ ├─15 │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ ├─6 │ ├─7 │ ├─8 │ └─9 └─解析 ├─1 ├─10 ├─11 ├─12 ├─13 ├─14 ├─15 ├─2 ├─3 ├─4 ├─5 ├─6 ├─7 ├─8 └─9
-
シンプルすぎますが,少しだけフォルダ作成が速くなりそう