亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

重命名圖像文件時系統找不到指定的文件

重命名圖像文件時系統找不到指定的文件

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 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號