python - 在 Python 中重命名文件

标签 python file rename

我正在 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/

相关文章:

python - 使用OpenCV和python在较大图像中裁剪灰度图像

python - 如何从 C API 返回包含 None 值的元组?

c++ - 尝试使用 2 个函数写入一个文件

visual-studio - 为什么ReSharper的 "Rename"只是有时显示提示?

python - 搜索电子邮件并打开取消订阅链接

python - Pandas dataframe - 将列值转换为单独的列

java - 将文件读取到字符串数组并显示每条记录

c - 在c中打开/读取文本文件

regex - 使用正则表达式重命名部分文件名

svn - 颠覆 : detect a renamed folder