2

如何测试文件名在 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)
4

1 回答 1

4

您可以使用 Python 的re模块使用正则表达式:

import re

if re.match(r'^.*_v\d+\.txt$', filename):
    pass  # valid
else:
    pass  # invalid

让我们把正则表达式分开:

  • ^匹配字符串的开头
  • .*匹配任何东西
  • _v_v从字面上匹配
  • \d+匹配一位或多位数字
  • \.txt.txt从字面上匹配
  • $匹配字符串的结尾
于 2012-12-02T01:18:43.930 回答