使用python从文件名中获取版本号的简洁方法是什么?例如,假设我有像这样的文件路径:
'Z:\\projects\\TEST\\assets\\TEST_PRP_Book\\tasks\\mdl\\TEST_PRP_Book_mdl_v021.max'
我希望将版本号作为像
这样的int值21
作为故障保护,如果文件命名错误,则返回0
答案 0 :(得分:1)
最容易做的事情可能只是使用regex search来表示"\\d+"
(任意数量的数字),假设您的文件名不包含其他数字。否则,您需要为边缘情况编写更复杂的正则表达式模式。
Python' int()似乎正好处理前导零,所以你可以将你的正则表达式包装起来并避免担心它们。
答案 1 :(得分:0)
如果您知道命名约定总是" _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')