如何测试文件名在 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)
你可以使用
Python 的 re
模块使用正则表达式:
import re
if re.match(r'^.*_vd+.txt$', filename):
pass # valid
else:
pass # invalid
让我们将正则表达式分开:
-
^
匹配字符串的开头 -
.*
匹配任何内容 -
_v
匹配_v
字面意思 -
d+
匹配一个或多个数字 -
.txt
匹配.txt
字面意思 -
$
匹配字符串的末尾