因此,当我做这样的事情。
x=str(19072000)
day=x[:2]
month=x[2:4]
year=x[4:]
final=day+"/"+month+"/"+year
print(final)
I get:19/07/2000
>>>x=str(01011930)
File"(Stdin)",line 1
x=str(01011930)
^
SyntaxError:invalid token
但当我尝试做同样的事情,但01011930,我得到SyntaxError:invalid token,任何想法为什么?
问题是前面的 0
中的整数常量。
在 Python 2 中,一个以 0
取为八进制常数,它不允许数字 8
或 9
(即使没有它们,结果的数字也会与您的意图大相径庭)。
在 Python 3 中,它根本不被允许,除了 0
本身。 八进制常数以 0o
在Python 3中,类似于十六进制常量以 0x
.)
要做你想做的事,只要去掉前面的零。 然后你可以使用零点垫。
x = "%08d" % 1011930
这将设置 x
到字符串 '01011930'
. 那么你的索引就可以用了。
同样,你也可以使用。
x = "{:08d}".format(1011930)