为了账号安全,请及时绑定邮箱和手机立即绑定

重命名图像文件时系统找不到指定的文件

重命名图像文件时系统找不到指定的文件

30秒到达战场 2023-07-18 13:37:54
我有超过 1000 个 JPG 图像在一个不同名称的文件夹中。我想将图像重命名为 0.JPG、1.jpg、2.jpg...我尝试了不同的代码,但出现以下错误:The system cannot find the file specified: 'IMG_0102.JPG' -> '1.JPG'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)如何解决这个错误。有更好的代码来按顺序重命名图像文件吗?
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

os.listdir仅返回文件名,不包含目录名。重命名时需要包含该内容。尝试这样的事情:


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)


查看完整回答
反对 回复 2023-07-18
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

只需使用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,因此*.jpg为 的模式glob。

查看完整回答
反对 回复 2023-07-18
  • 2 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信