我需要使用结构化文件名循环遍历许多文件。
它们的形式为'Mar00.sav','Sep00.sav','Mar01.sav'
目前我这样做;
Years = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17']
哪个有效,但我想知道是否有更好的方法?
我尝试了范围,但str(range(00,17))
会删除前导零......
答案 0 :(得分:8)
我遇到了同样的问题,并且有一个完美的解决方案 - zfill方法
使用示例:
>>> str('1').zfill(7)
'0000001'
您需要做的是为N个数字创建一个生成器并用零填充其字符串表示。
>>> for i in range(1, 18):
... str(i).zfill(2)
...
'01'
'02'
'03'
...
'16'
'17'
答案 1 :(得分:1)
>>> [str(i).zfill(2) for i in range(1,18)]
['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17']
答案 2 :(得分:0)
在python 2.7中,你可以像这样实现它
FP2xttTh/wm5Kr45Vh/PEvsdxgfL3NgxxMMk9hTkPfJd7vSJXTlhjiZlQajnBcMAVknANpv5FNCMRD+epDSOA2epKOzstSmhC0il2TlwgKqaT+97zomCMUCIfdaJYnLz5gBth1MIpxO30bx9zPg8cbOJcLnMmCo3vtSDCalgjHICf5FevI7DgrWnWC1U4wab0rx/rWhGFJ0sOW1ImDi9DkCy+guQZIrojbZxRlvGzv1mU/avP5hbKgWIheJpYQvvM12RyCNuVxjHK/oZ1mCQLVjvpED291lxsGTNHPUrc2NI7LCj/xOztjgsukpBP9K1nsUIgEyfVFUfTf5sh4QPccZnJ1bzKqPD
如果你想打印
>>> ["%02d" %i for i in range(0,17)]
['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16']
>>>