理由
東工大の講義は全七回行われる。
そこで講義開始前からファイルを綺麗に整理するために、科目ごとにファイルを作り、その中に第1回から第7回までの空のディレクトリを作成している。これまでは手作業で空ファイルを作っていたのだが、少し面倒くさかったのでこのスクリプトを書いてみた。
凄く単純で書き終わるのに初心者プログラマーの僕でも1時間かからなかったが、将来自分がどれくらい進歩しているかを知ることができるようにしたいので、こちらの記事を投稿することにした。
使ったライブラリ
- os
コード
main.py
"""
第一回から第七回までのフォルダーの作成
"""
import os
import make_folders
QUARTER = input("何QUARTERですか? -1 2 3 4-")
TOP = fr"C:\Users\Kenta Kubota\OneDrive\ドキュメント\{QUARTER}Q"
def main():
make_folders.make_new_quarter_folder(TOP)
make_folders.make_new_lecture_folder(TOP)
if __name__ =="__main__":
main()
make_folders.py
import os
def make_new_quarter_folder(top):
def make_new_lecture_name_folder():
lecture_folders = input("授業の科目を下のように全角スペースを空けて書いてください。\n\
自動車工学 応用数値計算法 etc").split(" ")
if not lecture_folders == []:
for lecture_folder in lecture_folders:
new_folder = top + "\\" + lecture_folder
os.mkdir(new_folder)
if not os.path.exists(top):
os.mkdir(top)
make_new_lecture_name_folder()
elif os.listdir(top) == []:
make_new_lecture_name_folder()
def make_new_lecture_folder(top):
for root, dirs, files in os.walk(top):
if root[:37] == r"C:\Users\Kenta Kubota\OneDrive\ドキュメント":
print(root)
if dirs == [] and root != top:
print('ディレクトリーない')
for i in range(1, 8):
print(root, "ディレクトリ作ります")
new_folder = root + "\\" + f"第{i}回"
os.mkdir(new_folder)
得た知識
- pythonによるファイルの操作
- r(row)とf(format)を同時に文字列の前に置きたいとき、rfでもfrでもどちらでもよい。
問題
- r"〇〇\"というように最後に\があるとEOLが出る。
作ってみた感想
以前東工大のWi-Fi、および東工大ポータルへの自動ログインスクリプトを書いたことがある。そのときはウェブスクレイピングの知識が得られた。今回はそれとはまったく別のファイル操作の知識、経験が得られた。ただ本を読んで知識を頭に入れるだけの勉強よりもはるかに効率がいいことがこれらの経験からわかる。これからも拙くてもいいからどんどんスクリプトを書いていって、1年後、2年後に周りを驚かせられるようなものを作れるようになりたい。