我尝试向每个“.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。现在您不包含目录名称。
添加回答
举报
0/150
提交
取消