2

所以在python中我试图以000X的顺序访问文件路径

所以我首先设置一个字符串

path = '0001'

然后指向并打开文件路径

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

所以我做我的生意,现在想访问扩展名 0002 的下一个文件

intpath = int(path)
intpath = intpath + 1
path = str(intpath)

我确信这是低效的,但我开始了。不幸的是,这使得路径'2'而不是'0002'......知道如何保持前导零吗?

4

4 回答 4

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']
于 2013-03-20T02:37:18.747 回答
2

如果您知道需要 4 位数字,请使用字符串格式:

path = "%04d" % (intpath+1)
于 2013-03-20T02:37:58.170 回答
0

另一个优点str.format是很容易参数化宽度。如果您的 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']
于 2013-03-20T03:20:47.330 回答
0

我可能会使用其他之一,但为了完整起见,还有zfill

'1'.zfill(4)
于 2013-03-20T02:38:49.313 回答