以下是AI提供python代碼撈取檔案清單,在撈取整個硬碟時如D槽,輸入方式不一樣,需要以D:\\呈現,相關解答也是由AI提供,在除錯方面相當即時。
AI講解錯誤的原因:
在字串的結尾 \"
被 Python 當作是 逃逸字元(escaped quote),導致 字串結尾的引號無法正確解析,造成語法錯誤(SyntaxError: unterminated string literal)。
撈取檔案清單的代碼:(撈取36萬筆清單大概5分鐘以內)
import os
import pandas as pd
from datetime import datetime
# 掃描的來源資料夾(可修改)
scan_dir = r"D:\\"
# 存檔的目的資料夾(可修改)
save_dir = r"C:\資料"
# 取得來源資料夾的最後一層名稱(作為檔名的一部分)
last_folder_name = os.path.basename(os.path.normpath(scan_dir))
# 儲存檔案資訊
file_data = []
# 遍歷所有子資料夾與檔案
for foldername, subfolders, filenames in os.walk(scan_dir):
for filename in filenames:
filepath = os.path.join(foldername, filename)
try:
stat = os.stat(filepath)
file_info = {
"檔名": filename,
"路徑": filepath,
"大小": stat.st_size,
"修改時間": datetime.fromtimestamp(stat.st_mtime),
"建立時間": datetime.fromtimestamp(stat.st_ctime),
"授權時間": datetime.fromtimestamp(stat.st_atime),
"資料夾": foldername,
"檔案格式": os.path.splitext(filename)[1].lower()
}
file_data.append(file_info)
except Exception as e:
print(f"無法讀取檔案:{filepath},錯誤:{e}")
# 轉為 DataFrame
df = pd.DataFrame(file_data)
# 組合 Excel 輸出檔案完整路徑
output_file = os.path.join(save_dir, f"檔案清單_{last_folder_name}.xlsx")
# 匯出 Excel
df.to_excel(output_file, index=False)
print(f"✅ 匯出完成:{output_file}")