如何根据 Python 中文件名中的数字更改文件扩展名
How do I change file extension based on the number in a file name in Python
我有一些文件存储在一个主目录中,扩展名为 .map
是模型的输出。文件名包括模型的时间步长。
例如:P_1_.map
、P_2_.map
和P_10_.map
分别是模型第1、2、10个时间步的输出。
文件的扩展名必须更改为与时间步长相对应的三位数。我需要将 .map
扩展名更改为 .001
、.002
和 .010
。
最后,我想将所有文件名更改为相同的名称,比如“Ptest”。最后,旧文件应该像这样更改:
P_1_.map
到 Ptest.001
P_2_.map
到 Ptest.002
P_10_.map
到 Ptest.010
有人知道如何在 Python 中执行此操作吗?任何帮助将不胜感激:)
import os
for name in os.listdir(): # look through the entire directory
# break up the name so we can work with it
parts = name.split('_')
# skip non-matching files
if len(parts) != 3: continue
if parts[0] != 'P' or parts[2] != '.map': continue
# figure out the new name
newname = "Ptest.%03d" % int(parts[1])
# do the rename
os.rename(name, newname)
我有一些文件存储在一个主目录中,扩展名为 .map
是模型的输出。文件名包括模型的时间步长。
例如:P_1_.map
、P_2_.map
和P_10_.map
分别是模型第1、2、10个时间步的输出。
文件的扩展名必须更改为与时间步长相对应的三位数。我需要将 .map
扩展名更改为 .001
、.002
和 .010
。
最后,我想将所有文件名更改为相同的名称,比如“Ptest”。最后,旧文件应该像这样更改:
P_1_.map
到 Ptest.001
P_2_.map
到 Ptest.002
P_10_.map
到 Ptest.010
有人知道如何在 Python 中执行此操作吗?任何帮助将不胜感激:)
import os
for name in os.listdir(): # look through the entire directory
# break up the name so we can work with it
parts = name.split('_')
# skip non-matching files
if len(parts) != 3: continue
if parts[0] != 'P' or parts[2] != '.map': continue
# figure out the new name
newname = "Ptest.%03d" % int(parts[1])
# do the rename
os.rename(name, newname)