ファルダに入っているファイルをすべてチェックする
In [1]:
import os
file_list=[]
# カレントディレクトリより下層のフォルダを os.fwalk()ですべてチェックしていきます
for root,dirs,files,rootfd in os.fwalk():
for file in files:
statinfo=os.stat(file,dir_fd=rootfd)# os.stat()でファイル情報を取得します
file_list.append((root,file,statinfo)) # (ディレクトリ、ファイル名、ファイル情報)をリストに入れます
(ディレクトリ、ファイル名、ファイル情報)の入ったリスト、file_listができました。os.stat()でファイル情報を取得してますので、ここから様々な情報を取り出してファイル整理に使うことができます。今回は最終更新日時を取得してみます。
In [2]:
import datetime
def getmdate(statinfo):
"""ファイル情報から最終更新日時を返す"""
return datetime.datetime.fromtimestamp(statinfo.st_mtime)
text=""
for file in file_list:
text+='{:%Y/%m/%d},{!s},{!s}\n'.format(getmdate(file[2]),file[0],file[1])
In [3]:
text=text.replace('\u3099','')
text=text.replace('\u309a','')
text=text.replace('\u2028','')
text=text.replace('\u24ea','')
with open('filelist.csv',mode='wt',encoding='cp932') as f:
f.write(text)
filelist.csvというファイルがつくらました。このファイルをエクセルで開き、テーブル機能など使えば更新日時でのソート、並び替えができます。このデータをぼんやり眺めているだけで仕事の流れや、やるべき業務の優先順位などみえてきます。
非エンジニアがPythonを仕事で使うコツは、最終的にワードなりエクセルなり、普段使っているソフトで使えるかたちに持ち込むことだと思いますよ。