身爲一個Notion使用者,可能會在Notion上放上大量圖片,但是,Notion原生並沒有一鍵就能將圖片下載回來的功能。
步驟
以html匯出頁面


這樣就能快速取出所有圖片,不過中文檔名,會變成UTF8編碼,就需要透過解碼才能還原成本來的中文檔名。
用重新命名UTF8編碼後的圖片名稱
中文檔名放上Notion時,檔名會經過「UTF-8」編碼。
因此下載的檔名,只要經過解碼,就能還原回
Python Code
import os
import urllib.parse
import tkinter as tk
from tkinter import filedialog, messagebox
# 解碼圖片名稱並重新命名
def decode_and_rename_files(folder_path):
try:
# 確保資料夾不是空的
if not folder_path:
messagebox.showwarning("錯誤", "請選擇資料夾!")
return
# 遍歷資料夾中的所有檔案
renamed_count = 0
for filename in os.listdir(folder_path):
if '%' in filename:
# 解碼檔名
decoded_filename = urllib.parse.unquote(filename)
old_file_path = os.path.join(folder_path, filename)
new_file_path = os.path.join(folder_path, decoded_filename)
# 重命名檔案
os.rename(old_file_path, new_file_path)
renamed_count += 1
messagebox.showinfo("完成", f"已成功重新命名 {renamed_count} 個檔案!")
except Exception as e:
messagebox.showerror("錯誤", f"發生錯誤: {str(e)}")
# 讓使用者選擇資料夾
def select_folder():
folder_selected = filedialog.askdirectory()
folder_path.set(folder_selected)
# 主介面
root = tk.Tk()
root.title("圖片名稱解碼工具")
# 資料夾路徑變數
folder_path = tk.StringVar()
# 介面布局
tk.Label(root, text="選擇要解碼的圖片資料夾:").pack(pady=10)
tk.Entry(root, textvariable=folder_path, width=50).pack(padx=10)
tk.Button(root, text="選擇資料夾", command=select_folder).pack(pady=5)
tk.Button(root, text="開始轉換", command=lambda: decode_and_rename_files(folder_path.get())).pack(pady=10)
# 開始主循環
root.mainloop()
變成GUI方便操作

按下轉換,UTF8名稱的圖片就還原成本來的名稱了。
