2011-02-28 91 views
8

我有str,就像'60'或'100'。 我需要str'00060'和'00100',使用python設置固定長度

我該怎麼做? 代碼是這樣的: 我使用'0'+'0'+'0'作爲插件。現在需要解決 d == 0006000100

a4 ='60' 
    a5 ='100' 

    d=('0'+'0'+'0'+a4+'0'+'0'+a5) 

回答

23

既然你操作字符串,str.zfill()不正是你想要的。

>>> s1, s2 = '60', '100' 
>>> print s1.zfill(5), s2.zfill(5) 
00060 00100 
+2

+1整潔,不知道那個 – Cameron 2011-02-28 04:15:56

10

像這樣:

num = 60 
formatted_num = u'%05d' % num 

約格式化數字作爲字符串更多信息,請參見。

如果您的號碼已經是一個字符串(如更新的問題表示),您可以使用該rjust字符串方法零到合適的寬度墊它:

num = u'60' 
formatted_num = num.rjust(5, u'0') 
+0

它來'60'我結合示例0006000100, – Merlin 2011-02-28 04:08:30

+0

數據文件有'60' – Merlin 2011-02-28 04:10:30

+0

@用戶:您可以發佈您正在使用的代碼嗎? – Cameron 2011-02-28 04:11:44

2

如果‘60’已經是一個字符串,你必須應用在格式化之前將其轉換爲數字的最實用的一個作品就像C的printf:

a ="60" 
b = "%05d" % int(a) 
0

如果它已經是一個字符串你可能想使用.zfill()方法。

myval.fill(5)