我试图重命名一个音频文件,但我一直得到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)
尝试将当前工作目录更改为要使用的工作目录。下面的代码可以让您简单地了解应该如何进行:
如果操作系统说没有这样的文件或目录,那就是真理。您对文件的位置做了很多假设,构建了一个指向它的路径,并对其进行了重命名。可以肯定的是,没有
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重命名单个文件。在
避免
检查文件是否存在。在
以下是工作示例:
^{pr2}$相关问题 更多 >
编程相关推荐