所以我有一个文件名列表。他们被称为:
"fgmask_frame_20.jpg","fgmask_frame_40.jpg",..."fgmask_frame_2000.jpg" etc.
我想要做的是将所有数字设为4位,如果是frame_20
,则将其设为frame_0020
,将frame_0200
代替frame_200
等等。
我怎样才能在Python中执行此操作?
答案 0 :(得分:1)
您可以使用正则表达式,如下所示:
import re
file_names = ["fgmask_frame_20.jpg", "fgmask_frame_40.jpg", "fgmask_frame_2000.jpg"]
file_names = [re.sub(r'(.*?_)(\d+)(\.jpg)', lambda x: '{}{:04}{}'.format(x.group(1), int(x.group(2)), x.group(3)), file_name) for file_name in file_names]
print file_names
这会给你以下输出:
['fgmask_frame_0020.jpg', 'fgmask_frame_0040.jpg', 'fgmask_frame_2000.jpg']