我想修改一个目录中的文件夹名称,并对它们进行排序,如果有人可能帮助我,我将感激不尽。
比如说 我有一个目录,其中包括sam1……sam100000(最好我们不知道有多少文件夹).我想在输出目录中排序和修改名称的方式,例如,如果最后一个文件夹有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])
解决方案:
从文件夹名称中,你需要2件事情
-
新名称:构建格式
"{}{: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)
本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/739.html