pythonでファイル操作を行う準備
pythonファイルの冒頭で。
import os import shutil
pythonでファイルの削除、移動、ファイルリスト
os.listdir(‘path’)はfor文と一緒に使う。引数のpathはつかわなくてもよい。この場合はカレントディレクトリのファイルがリストになる。
os.remove(‘filename’)はファイルを削除する。os系のメソッドは意外に柔軟で文字列を渡すと、そのファイルが削除される
shutil.move(‘oldpat’, ‘newpath’)これでファイルを移動できる。移動もカレントディレクトリ基準になっているためフルパスを書く必要がない。
専門家から見ると文句がとんできそうな解説ではある。再帰できるwalk()についてはここでは触れない
ファイル操作のサンプルコード
とりあえずこれ見れば、忘れても思い出す。
import send2trash, os, shutil os.chdir("C:\\users\\xxxxxx\\desktop") print("\n") endfilename = input("endfilename?: ") print("your input key = " + "'" + endfilename + "'") print("\n") i = input("commpres?(c) trash?(t) exit?(e)") if i == "c": os.mkdir(endfilename) for filename in os.listdir(): if os.path.isfile(filename): if filename.endswith("." + endfilename): shutil.move(filename, os.path.join(os.getcwd(), endfilename)) if i == "t": trashfiles = [] for filename in os.listdir(): if os.path.isfile(filename): if filename.endswith("." + endfilename): trashfiles.append(filename) print(trashfiles) while True: yn = input('trash? yes(y) no(n)') if yn == "y": [send2trash.send2trash(tf) for tf in trashfiles] if yn == "n": break if i == "e": print("ByeBye!!!")
windowsでデスクトップにいると仮定。最初にファイルの拡張子を入力し、該当拡張子のファイルを新しいフォルダにまとめるか、ゴミ箱に送るかを選択できるようにした。ゴミコードだがリハビリにはいいかもしれない。
ちなみにsend2trashはファイルをゴミ箱に送るモジュールだ。os.remove()を使ってもよいがこの場合はファイルが完全に削除される。
コメント