我正在 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() 的两个参数的前面,而不是弄乱当前的工作目录
。
关于python - 在 Python 中重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34686004/