2013-03-20 56 views
2

所以在python我試圖通過設置字符串訪問一個文件路徑000X的Python:轉換,同時保持領先爲str 0的

的順序

所以我開始

path = '0001' 

,然後點並打開文件路徑

filepath = open('/home/pi/Pictures' + path + '.JPG', 'rb') 

所以我做我的工作,現在要訪問擴展技術

的下一個文件
intpath = int(path) 
intpath = intpath + 1 
path = str(intpath) 

我相信這是低效的,但我開始了。不幸的是,這使路徑'2',而不是'0002'....任何想法如何我可以保持領先的零?

回答

3

您可以使用類似這樣

>>> ['{0:04}'.format(i) for i in range(1, 15)] 
['0001', '0002', '0003', '0004', '0005', '0006', '0007', '0008', '0009', 
'0010', '0011', '0012', '0013', '0014'] 
+0

非常感謝! – user2170780 2013-03-20 02:40:21

2

如果你知道你需要4位數字,使用字符串格式化:

path = "%04d" % (intpath+1) 
0

我可能會使用其他人之一,但出於完整性,這裏還有zfill

'1'.zfill(4) 
0

str.format另一個優點是,它的EAS y來參數化寬度。如果你的Python是2.5或更老,你將不得不使用%格式化

>>> ['{i:0{width}}'.format(i=i, width=4) for i in range(1, 15)] 
['0001', '0002', '0003', '0004', '0005', '0006', '0007', '0008', '0009', '0010', '0011', '0012', '0013', '0014'] 
相關問題