gpt4 book ai didi

python - 按顺序重命名许多文件 Python

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:22 24 4
gpt4 key购买 nike

我的 Python 培训正在进行中,我目前正在尝试按顺序重命名许多具有这种根和扩展名的文件:

Ite_1_0001.eps

Ite_2_0001.eps

Ite_3_0001.eps

Ite_4_0001.eps

但是,我正在尝试按如下方式重命名所有这些文件:

Ite_0001.eps

Ite_0002.eps

Ite_0003.eps

Ite_0004.eps

所以我是这样处理的:

for path, subdirs, files in os.walk(newpath):
num = len(os.listdir(newpath))
for filename in files:
basename, extension = os.path.splitext(filename)
for x in range(1, num+1):
new_filename = '_%04d' % x + extension
os.rename(os.path.join(newpath, filename), os.path.join(newpath, new_filename))

它根本不工作,因为所有文件都从目录中删除,并且一次运行脚本时我有这个:

第一次运行:_00004

第二次运行:_00005

....等等。

谁能提供一些可以帮助我完成这项任务的技巧:)。

非常感谢您的帮助。

最佳答案

您可以使用字符串列表测试该方法。因此,您不会冒删除文件的风险。 ;-)

files = ["Ite_1_0001.eps", "Ite_2_0001.eps", "Ite_3_0001.eps", "Ite_4_0001.eps",]

for f in files:
# Get the value between underscores. This is the index.
index = int(f[4:f.index('_', 4)])
new_name = '_%04d' % index
# Join the prefix, index and sufix file
print ''.join([f[:3], new_name, f[-4:]])

Ite_0001.eps

Ite_0002.eps

Ite_0003.eps

Ite_0004.eps

关于python - 按顺序重命名许多文件 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974166/

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