python 多程序按序號批量修改檔名

2021-09-10 23:09:16 字數 2201 閱讀 8157

檔名命名方式如圖,是數字序號開頭,但是中間有些檔案刪掉了,序號不連續,這裡將序號連續起來,總的檔案量有40w+,故使用多程序

:#遍歷資料夾下所有

result=

#maindir是當前搜尋的目錄 subdir是當前目錄下的資料夾名 file是目錄下檔名

for maindir,subdir,file_name_list in os.walk(pathfolder)

:for filename in file_name_list:

apath=os.path.join(maindir,filename)

ext=os.path.splitext(apath)[1

]#返回副檔名

if ext in

filter

:return result

defchangname

(filepath,changenum)

: filename=os.path.basename(filepath)

dirname=os.path.dirname(filepath)

pattern = re.

compile

(r'\d+')if

len(pattern.findall(filepath))!=

0:numinfilename=

str(

int(pattern.findall(filename)[0

])-changenum)

newfilename=pattern.sub(numinfilename,filename)

os.rename(filepath,os.path.join(dirname,newfilename)

)print

(' is changed as '

.format

(newfilename,filename)

)def

changenamebylist

(filelist,changnum)

:print

('filelist len is:{}'

.format

(len

(filelist)))

for filename in filelist:

changname(filename,changnum)

print

(filename,

' is done!'

)if __name__ ==

'__main__'

: allfilepath=getallfilepath(r'e:\numberdata\4'

) n_total=

len(allfilepath)

n_process=

8#8執行緒

#每段子列表長度

length=

float

(n_total)

/float

(n_process)

indices=

[int

(round

(i*length)

)for i in

range

(n_process+1)

] sublists=

[allfilepath[indices[i]

:indices[i+1]

]for i in

range

(n_process)

]#生成程序池

p=pool(n_process)

for i in sublists:

print

("sublist len is {}"

.format

(len

(i))

)(i,

161130))

p.close(

) p.join(

)多程序下python vscode終端debug不報錯 注意可能潛在的bug

os.rename()無法將檔案命名成已經存在的檔案,否則會報錯

Python 多程序批量管理主機

場景分析 1.運維場景新增物理機機器 需要進行登入機器進行環境標準化 2.例項 1.安裝相關支援包 pip3 install pycrypto pip3.6 install paramiko 2.遠端執行命令示例 usr bin env python36 from multiprocessing i...

python多程序 python多程序

當有多個非相關任務需要處理時,並行能大大提高處理速度。這裡簡要介紹python的multiprocessing模組。簡單多程序編寫 當我們任務數量確定而且比較少的時候,可以手動為每個任務指定乙個程序來執行。import multiprocessing as mp def f a print a if...

python多程序 Python多程序實踐

建立程序方式如下 可以通過lock鎖機制實現共享鎖,但比較常用的方式還是以上這些方式,效率更高,更安全。使用方式 構造 類方法 使用方式 構造 更多型別支援一般使用manager,支援的型別包括list,dict,namespace,lock,rlock,semaphore,boundedsemap...