使用python从文件名中获取版本号的干净方法是什么。例如,假设我有这样的文件路径:
'Z:\projects\TEST\assets\TEST_PRP_Book\tasks\mdl\TEST_PRP_Book_mdl_v021.max'
我想获取版本号作为整数值,例如
21
作为故障保险,如果文件命名不正确,我可以返回 0
最简单的方法可能是使用正则表达式搜索类似"\d+"
(任意数量的数字(,假设您的文件名不包含其他数字。否则,您需要为边缘情况编写更复杂的正则表达式模式。
Python 的 int(( 似乎可以很好地处理前导零,所以你可以把你的正则表达式包装在其中,避免担心它们。
如果您知道命名约定始终为"_v##",那么这对您有用吗:
import os
def returnVersionNumber(file):
fileName, ext = os.path.splitext(file)
versionDelimiter = fileName.rfind("_v")
if versionDelimiter == -1:
return 0
else:
return int(fileName[versionDelimiter + 2:])
print returnVersionNumber('Z:\projects\TEST\assets\TEST_PRP_Book\tasks\mdl\TEST_PRP_Book_mdl_v021.max')