我正在阅读目录,以查找特定的文件名。我可以'.xml'
从每个文件名中删除文档标签以进行比较。问题在于,其中大约10%的标题的末尾有一个六位数的时间戳。
file_list = os.listdir(directory_address)
for entry in file_list:
re.sub('\.xml$','', entry).upper()
#file name examples
filename_1 = 'normal_filename'
filename_2= 'another_normal_filename_A23'
filename_3 = 'stamped_file_name_085373'
我的程序无法立即知道哪些文件带有时间戳。有些没有时间戳的文件也自然会以一个或两个数字结尾。据我所知,只有标记的文件名将以这种格式结尾_######
。
如何使用正则表达式识别结尾处恰好有六个数字的文件名,_######
并从字符串中删除这些数字以进行比较?
您可以使用该\d{6}$
模式来匹配文件名末尾的6位数字,并使用以下命令将其删除re.sub()
:
>>> import re
>>> filename = 'stamped_file_name_085373'
>>> filename = re.sub(r"_\d{6}$", "", filename)
>>> filename
'stamped_file_name'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句