Python - os.rename "FileNotFoundError: [WinError 2]"
Python - os.rename "FileNotFoundError: [WinError 2]"
我正在尝试批量重命名一些照片,但我只想要第二部分,例如从 1234 - Photo_Name.jpg
重命名为 Photo_Name.jpg
。
这是我的代码:
import os
folder = r"C:\Users\yousef\Downloads\Pictures\"
files = os.listdir(folder)
for file_name in files:
new_filename = file_name.split(' - ')[1]
os.rename(file_name, new_filename)
但是我得到这个错误
File "c:\Users\yousef\Downloads\code.py", line 7, in <module>
os.rename(file_name, new_filename)
FileNotFoundError: [WinError 2] The system cannot find the file specified: '1234 - Photo_Name.jpg' -> 'Photo_Name.jpg'
尝试将文件夹的完整路径添加到源文件变量和目标文件变量中:
import os
folder = r"C:\Users\yousef\Downloads\Pictures\"
files = os.listdir(folder)
for file_name in files:
new_filename = file_name.split(' - ')[1]
os.rename(f"{folder}{file_name}", f"{folder}{new_filename}")
它正在尝试重命名当前目录中的文件,而不是您列出的文件夹中的文件。使用 os.path.join()
将目录与文件名组合。
import os
folder = r"C:\Users\yousef\Downloads\Pictures\"
files = os.listdir(folder)
for file_name in files:
new_filename = file_name.split(' - ')[1]
os.rename(os.path.join(folder, file_name), os.path.join(folder, new_filename))
我正在尝试批量重命名一些照片,但我只想要第二部分,例如从 1234 - Photo_Name.jpg
重命名为 Photo_Name.jpg
。
这是我的代码:
import os
folder = r"C:\Users\yousef\Downloads\Pictures\"
files = os.listdir(folder)
for file_name in files:
new_filename = file_name.split(' - ')[1]
os.rename(file_name, new_filename)
但是我得到这个错误
File "c:\Users\yousef\Downloads\code.py", line 7, in <module>
os.rename(file_name, new_filename)
FileNotFoundError: [WinError 2] The system cannot find the file specified: '1234 - Photo_Name.jpg' -> 'Photo_Name.jpg'
尝试将文件夹的完整路径添加到源文件变量和目标文件变量中:
import os
folder = r"C:\Users\yousef\Downloads\Pictures\"
files = os.listdir(folder)
for file_name in files:
new_filename = file_name.split(' - ')[1]
os.rename(f"{folder}{file_name}", f"{folder}{new_filename}")
它正在尝试重命名当前目录中的文件,而不是您列出的文件夹中的文件。使用 os.path.join()
将目录与文件名组合。
import os
folder = r"C:\Users\yousef\Downloads\Pictures\"
files = os.listdir(folder)
for file_name in files:
new_filename = file_name.split(' - ')[1]
os.rename(os.path.join(folder, file_name), os.path.join(folder, new_filename))