gpt4 book ai didi

Python 文件重命名

转载 作者:行者123 更新时间:2023-11-30 23:32:01 25 4
gpt4 key购买 nike

我的目录中有一些文件,

file_IL.txt
file_IL.csv
file_NY.txt
file_NY.csv

我必须重命名它们,以便它们获得序列号。例如,

file_IL.txt_001
file_IL.csv_001
file_NY.txt_002
文件_NY.csv_002

我编写了以下Python代码

def __init__(self):  

self.indir = "C:\Files"



def __call__(self):

found = glob.glob(self.indir + '/file*')

length = len(glob.glob(self.indir + '/file*'))
print length
count = 000

for num in (glob.glob(self.indir + '/file*')):
count = count + 1
count = str(count)
print count
shutil.copy(num, num+'_'+count)
print num
count = int(count)

但这给了我如下结果,

file_IL.txt_001
file_IL.csv_002
file_NY.txt_003
文件_NY.csv_004

有人可以帮我修改上面的Python脚本来满足我的要求吗?我是 Python 新手,不知道如何实现它。

最佳答案

最好的方法是将扩展名存储在字典中并对该扩展名进行计数。

def __call__(self):  

found = glob.glob(self.indir + '/file*')
length = len(found)
counts = {}

for num in found:
ext = num.rsplit(".",1)[-1] # Right split to get the extension
count = counts.get(ext,0) + 1 # get the count, or the default of 0 and add 1
shutil.copy(num, num+'_'+'%03d' % count) # Fill to 3 zeros
counts[ext] = count # Store the new count

关于Python 文件重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com