[Python]ファイル検索プログラムに作成日時出力機能を追加する
1.ファイル検索機能+作成日時日時
前回作成したファイル検索プログラムに、ファイルの作成日時を同時に出力する機能を追加します。コマンドラインの第二引数に日時を出力するかのフラグを1か0で出力するかどうか指定します。
2.コード
from os import listdir
from os.path import getmtime
from datetime import datetime
from sys import argv
search_word = argv[1:]
word = search_word[0]
date_flag = int(search_word[1])
#Unixタイムスタンプを時刻に変換
def mtime_to_date(tmttime):
date_obj = datetime.fromtimestamp(tmttime)
date_str = date_obj.strftime("%Y/%m/%d")
return date_str
files = listdir(".")
search_results = [f for f in files if word in f]
if len(search_results) > 0:
#時刻フラグによる出力分岐
if date_flag == 1:
print("該当件数:", len(search_results), "件")
for i, result in enumerate(search_results):
file_mtime = getmtime(result)
print(i + 1, result, "\t", mtime_to_date(file_mtime))
elif date_flag == 0:
print("該当件数:", len(search_results), "件")
for i, result in enumerate(search_results):
print(i + 1, result)
else:
print("該当するファイル名はありませんでした。")
3.実行結果
検索条件(hogeを含む and 日時出力あり)
NobinoMacBook-puro:practice nobii$ python3 search_file.py hoge 1
該当件数: 6 件
1 hoge.json 2019/01/09
2 hoge.db 2019/02/02
3 hoge.txt 2019/03/18
4 .hoge.txt.swp 2018/11/16
5 hoge.html 2019/04/07
6 hoge.py 2019/01/13
検索条件(hogeを含む and 日時出力あり)
NobinoMacBook-puro:practice nobi$ python3 search_file.py hoge 0
該当件数: 6 件
1 hoge.json
2 hoge.db
3 hoge.txt
4 .hoge.txt.swp
5 hoge.html
6 hoge.py