测试文件名是否在Python中具有正确的命名约定

时间:2012-12-02 01:13:26

标签: python nomenclature

如何在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)

1 个答案:

答案 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
  • $匹配字符串的结尾