2017-08-26 76 views
0

这里是我的代码:如何解决“没有这样的文件或目录”与Python os.rename模块

file_list = os.listdir("/home/vanessa/prank") 

    def rename_files(): 
     # current_dir = os.getcwd() 

     for file_name in file_list: 
      os.rename(file_name, file_name.translate(None, "0,1,2,3,4,5,6,7,8,9")) 


rename_files() 

当我跑,我得到

os.rename(file_name, file_name.translate(None, "0,1,2,3,4,5,6,7,8,9")) OSError: [Errno 2] No such file or directory

回答

1

您应该指定文件的完整路径,而不仅仅是相对路径。您可以通过拨打os.getcwd并将结果加入尾部os.path.join来完成此操作。

def rename_files(): 
    root = "/home/vanessa/prank" 

    for file_name in file_list: 
     os.rename(os.path.join(root, file_name), 
        os.path.join(root, file_name.translate(None, 
                "0,1,2,3,4,5,6,7,8,9"))) 
-2

尝试绝对路径,而不是相对路径

file_list = os.listdir("/home/vanessa/prank") 

file_list = os.listdir("C:/home/vanessa/prank") 
+1

OP显然在* Nix上运行,这不会做任何事情。 –

+0

我使用的是Ubuntu linux,是“C”还适用吗? – Vanessa

+1

@Vanessa不,它肯定不会。 –

0

os.listdir()只返回文件的名称,不返回路径。添加文件的路径。

+0

我不明白,请问@akp – Vanessa

+0

怎么样。 os.rename(“/ home/vanessa/prank”+ str(file_name),file_name.translate(None,“0,1,2,3,4,5,6,7,8,9”)) OSError :[Errno 2]没有这样的文件或目录 – Vanessa

+1

@Vanessa有3个答案,其中只有一个已被upvoted。你为什么无视它? –

相关问题