FileNotFoundError: \[WinError 2\] 系统找不到指定的文件:

新手上路,请多包涵
import os

def rename(directory):
    for name in os.listdir(directory):
        print(name)
        os.rename(name,"0"+name)


path = input("Enter the file path")
rename(path)

我想重命名某个目录中的每个文件,以便它在文件名的开头添加一个 0,但是当我尝试运行代码时出现此错误:

(FileNotFoundError: [WinError 2] 系统找不到指定的文件: ‘0.jpg’ -> ‘00.jpg’)

我确定那里有一个名为 0.jpg 的文件,我不确定问题出在哪里。

原文由 Bracktus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

如所写,您正在工作目录中寻找名为 0.jpg 的文件。您想查看传入的目录。

所以改为:

 os.rename(os.path.join(directory,name),
    os.path.join(directory,'0'+name))

原文由 mechanical_meat 发布,翻译遵循 CC BY-SA 4.0 许可协议

除非您的终端位于该目录中,否则您不能使用绝对路径。因此,您可以执行以下操作:

 import os
def rename(directory):
    os.chdir(directory) # Changing to the directory you specified.
    for name in os.listdir(directory):
        print(name)
        os.rename(name,"0"+name)

原文由 Aravindh nivas.M 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题