我想弄清楚如何将所有重要数字保持在一个值中。例如,让我们说我想要价值观' a'和' b':
a = 00
b = 00
我希望能够同时保留0'但是如果它只是恢复为' 0'。我已尝试添加小数,'。',' 00'但这只是给出了0.0'作为参考,我使用它来创建我的代码的文件名:
filename = 'Folder/File' + str(a) + '-' str(b) + '.file'
其中' b'一旦循环完成,将重述:
b += 10
希望这可以设置为' 01'等等。然后我说如果b达到一定数量,那么' a'价值被重述并且' b'重置为' 00':
if b > 50:
a += 1
b = 00
可能很明显,这是我尝试基本设置一个类似时间的功能。这是因为更改的文件名部分是它们的制作时间。这很令人抓狂,因为我正在处理2670多个文件,我需要一个很好的方法来设置它们进行阅读。
答案 0 :(得分:0)
在计算a
时,您可以使用string formatting创建填充,而不是尝试填充b
和filename
:
filename = 'Folder/File%02d-%02d.file' % (a, b)
答案 1 :(得分:0)
在计算机语言中,数字以二进制形式存储在内部,没有格式化概念。 16,0x10,0b10000是格式化数字16的所有方法。
Python有字符串格式来帮助解决这个问题:
>>> x = 16
>>> format(x,'x') # format as hexadecimal
'10'
>>> format(x,'b') # format as binary
'10000'
>>> format(x,'#x') # hexadecimal with indicator
'0x10'
>>> format(x,'#b') # binary with indicator
'0b10000'
>>> format(x,'4') # decimal with minimal length 4
' 16'
>>> format(x,'04') # decimal with mimimal length 4 and leading zeroes
'0016'
您可以在格式字符串中嵌入格式,并通过索引为同一参数指定不同的格式。下面以三种不同的方式格式化第一个参数(索引0):
>>> '{0} {0:#x} {0:#b}'.format(16)
'16 0x10 0b10000'
在Python 3.6中,有一些新的格式化字符串可以简化语法:
>>> a,b,c=1,2,3
>>> f'{c} {b} {a:02}'
'3 2 01'
对于你的例子:
filename = 'Folder/File{:02}-{:02}.file'.format(a,b)