在python中重命名单个文件

2024-04-19 10:04:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图重命名一个音频文件,但我一直得到OSError: [Errno 2] No such file or directory。在

在我的程序中,每个用户都有一个存放用户文件的目录。我通过执行以下操作获得每个用户的路径:

current_user_path = os.path.join(current_app.config['UPLOAD_FOLDER'], user.username)

/Users/johnsmith/Documents/pythonprojects/project/files/john

现在,我想获取要重命名的现有文件的路径:

^{pr2}$

重命名文件的路径为:

new_file_path = os.path.join(current_user_path, form.newTitle.data)

/Users/johnsmith/Documents/pythonprojects/project/files/john/One

现在我只运行rename命令:

os.rename(current_file_path, new_file_path)

Tags: 文件path用户路径projectoscurrentusers
3条回答

尝试将当前工作目录更改为要使用的工作目录。下面的代码可以让您简单地了解应该如何进行:

import os
print (os.getcwd())
os.chdir(r"D:\Python\Example")
print (os.getcwd())
print ("start")
def rename_files():
    file_list= os.listdir(r"D:\Python\Example")
    print(file_list)
    for file_name in file_list:
            os.rename(file_name,file_name.translate(None,"0123456789")) rename_files()
print("stop")
print (os.getcwd())

如果操作系统说没有这样的文件或目录,那就是真理。您对文件的位置做了很多假设,构建了一个指向它的路径,并对其进行了重命名。可以肯定的是,没有current_file_path命名的文件,也没有new_file_path的目录。在

尝试os.stat(current_file_path),同样地用os.stat(os.posixpath.dirname(new_file_path))检查新文件路径。一旦你把它们弄对了,os.rename如果你有权限的话,os.rename就可以工作了。在

您可以使用os.rename重命名单个文件。在

避免

OSError: [Errno 2] No such file or directory.

检查文件是否存在。在

以下是工作示例:

^{pr2}$

相关问题 更多 >