import os
# 指定目录
directory = 'E:\\pythonProject\\a'
# 获取当前目录下所有图片文件
image_files = [f for f in os.listdir(directory ) if f.endswith('.jpg') or f.endswith('.png') or f.endswith('.jpeg')]
# 重命名图片文件
for i, file in enumerate(image_files):
new_name = f'image_{i + 1}.{file.split(".")[-1]}' # 新的文件名格式
# try:
# os.rename(file, new_name)
# except FileNotFoundError:
# pass
os.rename(file, new_name)
print(f'Renamed {file} to {new_name}')
报错FileNotFoundError: [WinError 2] 系统找不到指定的文件。: '0054243eb93327df4b590230781f3ce5.png' -> 'image_1.png'
import os
# 指定目录
directory = 'E:\\pythonProject\\a'
# 更改工作目录
os.chdir(directory)
# 获取当前目录下所有图片文件
image_files = [f for f in os.listdir() if f.endswith('.jpg') or f.endswith('.png') or f.endswith('.jpeg')]
# 重命名图片文件
for i, file in enumerate(image_files):
new_name = f'image_{i + 1}.{file.split(".")[-1]}' # 新的文件名格式
os.rename(file, new_name)
print(f'Renamed {file} to {new_name}')
重命名文件时使用的文件名是相对路径,而实际上文件名是相对于当前工作目录的。所以,你需要在重命名文件之前切换到指定的目录。你可以使用 os.chdir()
方法来更改工作目录,然后再执行重命名文件的操作。
也可以
import os
# 指定目录
directory = 'E:\\pythonProject\\async_io\\network'
# 获取当前目录下所有图片文件
image_files = [f for f in os.listdir(directory) if f.endswith('.jpg') or f.endswith('.png') or f.endswith('.jpeg')]
# 重命名图片文件
for i, file in enumerate(image_files):
new_name = f'a{i + 1}.{file.split(".")[-1]}' # 新的文件名格式
os.rename(os.path.join(directory, file), os.path.join(directory, new_name))
print(f'Renamed {file} to {new_name}')