如何在Python中测试文件名是否具有正确的命名约定?假设我希望文件名以字符串_v
结束,然后是某个数字,然后是.txt
。我该怎么办?我有一些表达我的想法的示例代码,但实际上并不起作用:
fileName = 'name_v011.txt'
def naming_convention(fileName):
convention="_v%d.txt"
if fileName.endswith(convention) == True:
print "good"
return
naming_convention(fileName)
答案 0 :(得分:4)
您可以使用Python的re
module:
import re
if re.match(r'^.*_v\d+\.txt$', filename):
pass # valid
else:
pass # invalid
让我们选择正则表达式:
^
匹配字符串的开头.*
匹配任何内容_v
字面上匹配_v
\d+
匹配一个或多个数字\.txt
字面上匹配.txt
$
匹配字符串的结尾