Files
zettelkasten/clean.py
2025-09-07 18:44:50 +08:00

34 lines
1.1 KiB
Python

import os
import shutil
assets_dir = './assets'
journal_dir = './journals'
pages_dir = './pages'
to_delete_dir = './to_delete'
if not os.path.exists(to_delete_dir):
os.makedirs(to_delete_dir)
assets_files = os.listdir(assets_dir)
referenced_files = []
for dirname in [journal_dir, pages_dir]:
for filename in os.listdir(dirname):
if filename.endswith('.md'):
# 打开 .md 文件
with open(os.path.join(dirname, filename),encoding="utf-8") as f:
# 遍历文件中的每一行
for line in f:
# 遍历 assets 目录中的所有文件
for asset in assets_files:
# 如果这一行包含了 assets 目录中的某个文件的名称,则将这个文件的名称加入到 referenced_files 列表中
if asset in line:
referenced_files.append(asset)
for asset in assets_files:
if asset not in referenced_files and not asset.endswith(".edn"):
print(asset)
shutil.move(os.path.join(assets_dir, asset), to_delete_dir)