我是 Python 新手,正在嘗試按數字順序重命名圖像后將照片 (.jpg) 復制到文件夾中。我編寫了以下腳本,將目錄中的所有照片(全部 32,000 張)重命名為它們的名稱(雜草):import osos.chdir('E:\\weeds')i=1for file in os.listdir(): src=file dst="weed"+str(i)+".jpg" os.rename(src,dst) i+=1以下是輸出命名的示例:然后我嘗試將前 250 張照片復制到一個新目錄中,如下所示:import os, shutil#Copying files to foldersoriginal_weed = 'E:\\weeds'train_weed = 'E:\\weeds_train'#Training dataset: Weedsfnames = ['weed{}.jpg'.format(i) for i in range(250)]for fname in fnames: src = os.path.join(original_weed, fname) dst = os.path.join(train_weed, fname) shutil.copyfile(src, dst)產生以下錯誤:FileNotFoundError Traceback (most recent call last)<ipython-input-7-f08fff292dd8> in <module> 17 src = os.path.join(original_weed, fname) 18 dst = os.path.join(train_weed, fname)---> 19 shutil.copyfile(src, dst)~\anaconda3\lib\shutil.py in copyfile(src, dst, follow_symlinks) 259 os.symlink(os.readlink(src), dst) 260 else:--> 261 with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst: 262 # macOS 263 if _HAS_FCOPYFILE:FileNotFoundError: [Errno 2] No such file or directory: 'E:\\weed0.jpg'我需要做什么才能識別要復制的文件?
1 回答

慕雪6442864
TA貢獻1812條經驗 獲得超5個贊
您的代碼中有一個錯誤 - 腳本的第一部分命名圖片,索引從 1 開始:
os.chdir('E:\\weeds') i=1 for?file?in?os.listdir():
代碼的下一部分會迭代函數的結果range
,在您的情況下,函數的結果從 0 開始,以 249 結束。
weed0.jpg
您收到的錯誤表明目錄中沒有指定的文件,這確實是事實。
i
最簡單的修復方法是在代碼的第一部分將 的初始值設置為 0,它應該可以正常工作。
添加回答
舉報
0/150
提交
取消