什麼是使用python從文件名獲取版本號的乾淨方式。例如說我有文件路徑,像這樣:從文件名解析版本號爲python int
'Z:\\projects\\TEST\\assets\\TEST_PRP_Book\\tasks\\mdl\\TEST_PRP_Book_mdl_v021.max'
,我希望得到的版本號爲像
21
int值作爲故障安全的,如果該文件被命名爲返回0,錯誤我沒事
什麼是使用python從文件名獲取版本號的乾淨方式。例如說我有文件路徑,像這樣:從文件名解析版本號爲python int
'Z:\\projects\\TEST\\assets\\TEST_PRP_Book\\tasks\\mdl\\TEST_PRP_Book_mdl_v021.max'
,我希望得到的版本號爲像
21
int值作爲故障安全的,如果該文件被命名爲返回0,錯誤我沒事
最簡單的做法可能就是使用regex search,如"\\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')
我個人儘量避免正則表達式,如果我能直蟒蛇做。在這種情況下,rfind()和substring將工作得很好,我認爲。 – Spencer