2014-11-04 34 views
0

我想將一個變量中的最後一個int增加一個,並且陷入瞭如何正確地做到這一點。通過python增加一個像*/2.4.7這樣的變量

version = tree.find('.//BranchSpec/name').text; 

sprint = int(version.split(".")[2]) 
sprint = sprint + 1 
newversion = version.split(".")[0] , version.split(".")[1], sprint # output ('*/2', '4', 8) 

我想要的輸出爲*/2.4.8

回答

1

就分出最後一部分而已,str.rpartition()是這樣做的最快方法:

prefix, _, sprint = version.rpartition('.') 
newversion = '{}.{}'.format(prefix, int(sprint) + 1) 

分區給我們的前綴爲好,在再次形成新版本時更容易重用。

你也可以用str.rsplit()和限制做到這一點:

prefix, sprint = version.rsplit('.', 1) # split just once 
newversion = '{}.{}'.format(prefix, int(sprint) + 1) 

演示:

>>> version = '*/2.4.7' 
>>> prefix, _, sprint = version.rpartition('.') 
>>> '{}.{}'.format(prefix, int(sprint) + 1) 
'*/2.4.8' 
>>> prefix, sprint = version.rsplit('.', 1) # split just once 
>>> '{}.{}'.format(prefix, int(sprint) + 1) 
'*/2.4.8'