簡體   English   中英

在 python 中對目錄中的文件夾(字母和數字的組合)進行排序

[英]sorting folders in a directory ( combination of alphabets and numbers) in python

我想修改目錄中的文件夾名稱並對它們進行排序,如果有人可以幫助我,我將不勝感激。

例如:我有一個包含 sam1.... sam100000 的目錄(最好我們不知道我們有多少個文件夾)。 我想要在 output 目錄中排序和修改名稱,例如,如果最后一個文件夾有 6 個數字,第一個文件夾看起來像 sam000001(添加 5 個零),對於 sam15,它將是 sam000015(添加 4 個零)。

提前致謝

import os
import os.path  

E = 0

for _, dirnames, filenames in os.walk('path'):


    E += len(dirnames)

formating= "{0:6}"
enum=["{0:6}".format(i) for i in range (1,E)]
original=[i for i in range (1,E)]
start='sam'
for i in original :
    os.rename(start+str(i),start+enum[i])

從文件夾名稱中,您需要兩件事

  • 新名稱:構建格式"{}{:0%sd}" % padding_size => "{}{:06d}"

     oldname = "folder15" padding_size = 6 parts = re.search("(.*?)(\d+)", oldname).groups() newname = ("{}{:0%sd}" % padding_size).format(parts[0], int(parts[1])) print(newname) # folder000015
  • 使用os.rename(oldpath, newpath)重命名它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM