見出し画像

[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
該当件数: 61 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
該当件数: 61 hoge.json
2 hoge.db
3 hoge.txt
4 .hoge.txt.swp
5 hoge.html
6 hoge.py



いいなと思ったら応援しよう!