Python檔案批量重新命名

2021-10-01 15:00:16 字數 1531 閱讀 3925

需求:python 檔案批量重新命名1. 在當前目錄新建目錄img, 裡面包含100個檔案, 100個檔名各不相同(x4g5.png)2. 將當前img目錄所有以.png結尾的字尾名改為.jpg.

import random

import string

import os

from os.path import splitext

defgen_code

(len=4

):#隨機生成4位驗證碼

li = random.sample(string.ascii_letters+string.digits,

len)

#拼接為字串

return

''.join(li)

defcreate_files()

:#隨機生成100個驗證碼

li =

[gen_code(

)for i in

range

(100)]

os.mkdir(

'img'

)for i in li:

os.mkdir(

'img/'

+ i +

'.png'

)create_files(

)def

modify_suffix

(dirname,old_suffix,new_suffix)

:#找出以png結尾的檔名

# filter()函式接收乙個函式 f 和乙個list,得出true的元素

pngfile =

filter

(lambda filename:filename.endswith(old_suffix)

,os.listdir(dirname)

)#分離檔名和字尾

# os.path.split(『path』):按照路徑將檔名和路徑分割開 (2)os.path.splitext()將檔名和副檔名分開,得到乙個2維列表

basefiles =

[os.path.splitext(filename)[0

]for filename in pngfile]

#檔案重新命名

for filename in basefiles:

# print(filename)

oldname = os.path.join(dirname,filename + old_suffix)

newname = os.path.join(dirname,filename + new_suffix)

# 考慮過 oldname為什麼不能直接用pngfile(列表)!型別不同

os.rename(oldname,newname)

print

('%s重新命名為%s成功'

Python 檔案批量重新命名

今天正好需要給團隊做乙個批量重新命名的工作,就想用python解決一下 import os path e 02組素材收集 摳圖 l os.listdir path os.chdir path 這一行重中之重,之前沒加一直報錯,後來加上這行才執行成功 forfile in l try iffile s...

Python檔案批量重新命名

把某一資料夾下的所有檔案 如 名稱統一為序號的排列,並可以更改檔案的字尾 import os def rename i 0 path r home val3 filelist os.listdir path 該資料夾下所有的檔案 包括資料夾 for files in filelist 遍歷所有檔案 ...

python檔案批量重新命名

如下 coding gbk import os class filerename def init self,path self.path path self.order self.files os.listdir path def list self return self.files def p...