[英]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.