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

Posted

技术标签:

【中文标题】在 Python 中测试文件名是不是具有正确的命名约定【英文标题】:Test whether a file name has the correct naming convention in Python在 Python 中测试文件名是否具有正确的命名约定 【发布时间】:2012-11-19 20:51:35 【问题描述】:

如何在 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】:

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

import re

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

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

^ 匹配字符串的开头 .* 匹配任何东西 _v 匹配 _v 字面意思 \d+ 匹配一位或多位数字 \.txt 匹配 .txt 字面意思 $ 匹配字符串的结尾

【讨论】:

以上是关于在 Python 中测试文件名是不是具有正确的命名约定的主要内容,如果未能解决你的问题,请参考以下文章

判断有机化合物的命名是不是正确

python变量名有命名规范吗

C99 语言中具有未命名成员的结构的正确行为是啥?

Python IO 是不是允许在 Windows 上删除/重命名打开的文件?

Python:检查解析的日期时间是不是具有正确的时区

Python中如何正确命名变量,有规律吗?