繁体   English   中英

Python:在转换为str的同时保持前导0

[英]Python: Converting to str while keeping leading 0's

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

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

path = '0001'

然后指向并打开文件路径

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

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

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

我敢肯定这是低效的,但我还是从头开始。 不幸的是,这使路径为“ 2”而不是“ 0002”。...知道如何保持前导零吗?

你可以用这样的东西

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

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

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

我可能会使用其中之一,但是为了完整zfill ,还有zfill

'1'.zfill(4)

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']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM