亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 os.rename 時出現 FileNotFoundError,但在調用打印函數時沒有

使用 os.rename 時出現 FileNotFoundError,但在調用打印函數時沒有

繁星coding 2022-06-02 11:29:52
免責聲明,我對編碼和 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 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

src永遠不會改變,但你os.rename會多次(每個循環一次)。它可能存在第一個電話,但絕對不是第二個電話。



查看完整回答
反對 回復 2022-06-02
?
德瑪西亞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)


查看完整回答
反對 回復 2022-06-02
  • 2 回答
  • 0 關注
  • 213 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號