[英]“OSError: [Errno 2] No such file or directory” encountered on os.rename
我在文件夾中存儲了許多圖像文件,分別存儲為0.png,1.png,...,x.png。 然后我必須以相反的順序重命名,即0-> x,1->(x-1),..,(x-1)-> 1,x-> 0。 我已經在python中編寫了以下代碼。
for filename in os.listdir("."):
tempname = "t" + filename
os.rename(filename, tempname)
for x in range(minx, maxx+1):
tempname = "t" + str(x) + ".png"
newname = str(maxx-x) + ".png"
os.rename(tempname, newname)
我遇到以下錯誤:
OSError: [Errno 2] No such file or directory
我究竟做錯了什么? 有更聰明的方法嗎?
嘗試以下操作,它使用glob
模塊獲取文件列表。 這應該包括完整路徑,否則os.rename
可能會失敗:
import glob
import os
source_files = glob.glob(r'myfolder\mytestdir\*')
temp_files = ['{}.temp'.format(file) for file in source_files]
target_files = source_files[::-1]
for source, temp in zip(source_files, temp_files):
os.rename(source, temp)
for temp, target in zip(temp_files, target_files):
os.rename(temp, target)
請注意,如果您只想定位.png
文件,則可以將全局行更改為*.png
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.