Skip to main content
 首页 » 编程设计

python之在 Python 中重命名文件

2025年05月04日34leader

我正在 Udacity 上学习 Python 类(class)。还有一个名为 Rename Troubles 的类,它提供了以下不完整的代码:

import os 
def rename_files(): 
    file_list = os.listdir("C:\Users\Nick\Desktop\temp") 
    print (file_list) 
 
    for file_name in file_list: 
        os.rename(file_name, file_name.translate(None, "0123456789")) 
 
rename_files() 

正如讲师所解释的那样,这将返回一个错误,因为 Python 没有尝试重命名正确文件夹中的文件。然后他继续检查“当前工作目录”,然后继续向 Python 指定要在哪个目录中重命名文件。

这对我来说毫无意义。我们正在使用 for 循环专门告诉 Python 我们要重命名 file_list 的内容,我们刚刚在 rename_files() 中指向了我们需要的目录。那么为什么它不尝试在该文件夹中重命名呢?为什么我们还需要弄清楚cwd然后改变它?没有这些,代码看起来完全合乎逻辑。

请您参考如下方法:

仔细看看是什么os.listdir()给你。它仅返回一个名称列表,而不是完整路径。

然后您将继续 os.rename 其中一个名称,该名称将被解释为相对于您当前工作目录的相对路径。

您可以os.path.join()将您正在搜索的路径放在os.rename() 的两个参数的前面,而不是弄乱当前的工作目录。