我嘗試向每個“.png”文件附加一個短字符串。但是當我運行它時,它說找不到該文件。但我知道它就在那里,并且我可以在文件夾中看到它。有什么我需要做的嗎?這是我的腳本:import osfor file in os.listdir("./pics"): if file.endswith(".png"): newFileName = "{0}_{2}{1}".format(*os.path.splitext(file) + ("z4",)) os.rename(file, newFileName)這是我收到的錯誤消息...02.png 是文件夾中的第一個文件:fileNotFoundError: [WinError 2] 系統找不到指定的文件: '02.png' -> '02_z4.png'但這很奇怪,因為它獲取文件名,在本例中為02.png. 那么如果它可以讀取文件名,為什么找不到它呢?
2 回答

素胚勾勒不出你
TA貢獻1827條經驗 獲得超9個贊
我認為我的評論可能已經足夠了,但為了清楚起見,我將提供一個簡短的答案。
02.png相對于您的工作目錄不存在。您需要指定文件的路徑,因此os.rename需要包含目錄。
import os
for file in os.listdir("./pics"):
if file.endswith(".png"):
newFileName = "/pics/{0}_{2}{1}".format(*os.path.splitext(file) + ("z4",)) # Notice the ./pics
os.rename(os.path.join('pics', file), newFileName)

鳳凰求蠱
TA貢獻1825條經驗 獲得超4個贊
從 os.listdir() 返回的名稱給出文件名,而不是完整路徑。因此,您需要將 pics/02.png 重命名為 pics/02_zf.png?,F在您不包含目錄名稱。
添加回答
舉報
0/150
提交
取消