为了账号安全,请及时绑定邮箱和手机立即绑定

Python 说它找不到我试图重命名的文件,即使它可以读取文件名

Python 说它找不到我试图重命名的文件,即使它可以读取文件名

慕村225694 2023-12-26 15:00:37
我尝试向每个“.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)


查看完整回答
反对 回复 2023-12-26
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

从 os.listdir() 返回的名称给出文件名,而不是完整路径。因此,您需要将 pics/02.png 重命名为 pics/02_zf.png。现在您不包含目录名称。



查看完整回答
反对 回复 2023-12-26
  • 2 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信