Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中测试文件名是否具有正确的命名约定_Python_Nomenclature - Fatal编程技术网

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

在Python中测试文件名是否具有正确的命名约定,python,nomenclature,Python,Nomenclature,如何在Python中测试文件名是否具有正确的命名约定?假设我希望文件名以字符串_v结尾,然后是一些数字,然后是.txt。我该怎么做?我有一些示例代码表达了我的想法,但实际上不起作用: fileName = 'name_v011.txt' def naming_convention(fileName): convention="_v%d.txt" if fileName.endswith(convention) == True: print "good" r

如何在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的正则表达式:

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

^匹配字符串的开头 *匹配任何内容 _v符合字面意思 \d+匹配一个或多个数字 \.txt逐字匹配.txt $匹配字符串的结尾
可以使用Python的正则表达式:

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

^匹配字符串的开头 *匹配任何内容 _v符合字面意思 \d+匹配一个或多个数字 \.txt逐字匹配.txt $匹配字符串的结尾
import re

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