重命名图像文件时系统找不到指定的文件
System cannot find the file specified when renaming image files
我在不同名称的文件夹中有超过 1000 张 JPG 图片。我想将图像重命名为 0.JPG、1.jpg、2.jpg...
我尝试了不同的代码,但出现以下错误:
The system cannot find the file specified: 'IMG_0102.JPG' -> '1.JPG'
下面的代码是在 link 中找到的代码之一:
import os
_src = "C:\Users\sazid\Desktop\snake"
_ext = ".JPG"
for i,filename in enumerate(os.listdir(_src)):
if filename.endswith(_ext):
os.rename(filename, str(i)+_ext)
如何解决这个错误。有更好的代码来按顺序重命名图像文件吗?
os.listdir
仅 returns 文件名,不包括目录名。您需要在重命名时包括它。尝试这样的事情:
import os
_src = "C:\Users\sazid\Desktop\snake"
_ext = ".JPG"
for i,filename in enumerate(os.listdir(_src)):
if filename.endswith(_ext):
src_file = os.path.join(_src, filename)
dst_file = os.path.join(_src, str(i)+_ext)
os.rename(src_file, dst_file)
只需使用 glob
即可避免头痛
使用 glob 你的代码变成这样:
import os
from glob import glob
target_dir = './some/dir/with/data'
for i, p in enumerate(glob(f'{target_dir}/*.jpg')):
os.rename(p, f'{target_dir}/{i}.jpg')
在此代码中 glob()
为您提供了已找到的具有 .jpg
扩展名的文件的文件路径列表,因此 glob
、here is more on glob
我在不同名称的文件夹中有超过 1000 张 JPG 图片。我想将图像重命名为 0.JPG、1.jpg、2.jpg...
我尝试了不同的代码,但出现以下错误:
The system cannot find the file specified: 'IMG_0102.JPG' -> '1.JPG'
下面的代码是在 link 中找到的代码之一:
import os
_src = "C:\Users\sazid\Desktop\snake"
_ext = ".JPG"
for i,filename in enumerate(os.listdir(_src)):
if filename.endswith(_ext):
os.rename(filename, str(i)+_ext)
如何解决这个错误。有更好的代码来按顺序重命名图像文件吗?
os.listdir
仅 returns 文件名,不包括目录名。您需要在重命名时包括它。尝试这样的事情:
import os
_src = "C:\Users\sazid\Desktop\snake"
_ext = ".JPG"
for i,filename in enumerate(os.listdir(_src)):
if filename.endswith(_ext):
src_file = os.path.join(_src, filename)
dst_file = os.path.join(_src, str(i)+_ext)
os.rename(src_file, dst_file)
只需使用 glob
即可避免头痛
使用 glob 你的代码变成这样:
import os
from glob import glob
target_dir = './some/dir/with/data'
for i, p in enumerate(glob(f'{target_dir}/*.jpg')):
os.rename(p, f'{target_dir}/{i}.jpg')
在此代码中 glob()
为您提供了已找到的具有 .jpg
扩展名的文件的文件路径列表,因此 glob
、here is more on glob