Pythonで特定のフォルダ内のファイル名を更新日順で取得する
code:makefilelist.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os
import pathlib
import json
filepath = "../filelist.json"
p_file = pathlib.Path('../list/')
paths = list(p_file.glob('**/*.md'))
paths.sort(key=os.path.getmtime, reverse=True)
filelist = []
filelist.append(p.name) for p in paths if p.is_file()
jsonObj = json.dumps(filelist, sort_keys=True, indent=4,ensure_ascii=False)
with open(filepath,mode="w") as f:
f.writelines(jsonObj)
print(jsonObj)
json.dumpsの際ensure_ascii=Falseをしないと日本語などがURLエンコードされてしまうので注意。
ref.
Python, pathlibでファイル名・拡張子・親ディレクトリを取得 | note.nkmk.me
Python, pathlibでファイル一覧を取得(glob, iterdir) | note.nkmk.me
pathlib --- オブジェクト指向のファイルシステムパス — Python 3.10.6 ドキュメント
【Pythonサンプルコード】フォルダ内のファイル名一覧のリストを取得して、更新時刻が古い順にファイルを削除していくコード - なろう分析記録
Path オブジェクトを更新日時でソートする (Python 3) - jBlog
Pythonでファイルのタイムスタンプ(作成日時や更新日時)を取得 | note.nkmk.me
ファイルの日付取得 - Qiita
Path オブジェクトを更新日時でソートする (Python 3) - jBlog
Pythonでリスト(配列)に要素を追加するappend, extend, insert | note.nkmk.me
【jsonモジュール】PythonでJSONファイルに日本語を出力する方法 【Unicodeエスケープなし】
Pythonで辞書に要素を追加、辞書同士を連結(結合) | note.nkmk.me
パーミッションを変更するには - とほほのWWW入門
【mv】Linuxでファイル・ディレクトリ名を変更するコマンド | UX MILK