[英]Python 3: Error while executing os.rename()
我正在尝试使用以下代码重命名文件:
def rename_files(src: str,dst: str, folder_name: str):
filepath = f"temp/{src}"
filepath = filepath.replace("/", "\\")
cwd = os.getcwd()
old_path = os.path.join(cwd, filepath)
newfilepath = f"folder/{folder_name}/{dst}.pdf"
newfilepath = newfilepath.replace("/", "\\")
new_path = os.path.join(cwd, newfilepath)
if os.path.exists(old_path):
os.rename(old_path, new_path)
else:
print("File does not exist")
在执行它时,我收到以下错误:
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'E:\\Repos\\GitHub\\source\\t2dm\\temp\\oldfilename.pdf' -> 'E:\\Repos\\GitHub\\source\\t2dm\\folder\\subfolder\\newfilename.pdf'
代码正在从以下位置执行:
E:\Repos\GitHub\source\t2dm\
文件oldfilename.pdf
存在于E:\Repos\GitHub\source\t2dm\temp\
中, folder\subfolder
也存在。
该怎么做才能解决这个问题?
编辑:添加了有关folder\subfolder
的更多信息。
如果新文件夹folder_name
不存在, os.rename
不会创建它。
您可以执行以下操作之一:
在代码的那一行中使用os.renames()
(注意s
),而不是os.rename
- 如果它们不存在,它将为目标创建目录。
使用os.makedirs()
为子文件夹制作目录树。
如果您不创建多个目录树,那么选项 (1) 非常适合您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.