免責聲明,我對編碼和 python 非常陌生,因此為初學者提供響應會很棒。我基本上是在嘗試通過調用 CSV 文件中的特定值來重命名目錄。我可以打印出我想要的新名稱。一旦我添加了 os.rename(src, dst) 函數,我就會得到錯誤FileNotFoundError: [Errno 2] 沒有這樣的文件或目錄...是的,我已經三次檢查了文件路徑是否有錯別字和錯誤。我已在簡化版本中成功使用此代碼,而無需嘗試從 csv 重命名。import os, csvos.chdir("/Users/.../test11")root = "/Users/.../test11"for file in os.listdir(): #delete ds_store files b/c they mess up index value if file.endswith(".DS_Store"): path = os.path.join(root, file) os.remove(path)src = "/Users/.../test11/temp_name" # rename (date/name/index)csvFilePath = "/Users/.../test11/temp_name/data.csv"with open(csvFilePath) as csvFile: csvReader = csv.DictReader(csvFile) for csvRow in csvReader: timestamp = csvRow["Timestamp"] name = csvRow["First name"] for index, folder in enumerate(os.listdir(root), start=1): new_folder_name = f"{timestamp}_{name}_{index}"os.rename(src, new_folder_name)任何幫助將非常感激。如果有辦法讓這段代碼更高效,糾正不良做法,或者如果有更好的方法,我愿意接受建議!
2 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
如果我理解正確,您目前擁有:
src = "/Users/.../test11/temp_name"
和
new_folder_name = f"{timestamp}_{name}_{index}"
我會說您缺少路徑“/Users/.../test11/”
也許這會解決你的問題?
new_folder_name = "/Users/.../test11/" + f"{timestamp}_{name}_{index}"
def create_path(x):
if not os.path.exists(x):
os.makedirs(new_folder_name)
os.rename(src, new_folder_name)
添加回答
舉報
0/150
提交
取消