-1

我有一本叫做表的字典。我想将此号码分配给下面的 dic 键。它一直给我一个错误,说“无效的令牌”。我尝试将其转换为字符串、整数和浮点数,但无济于事

table['Fac_ID'] = 00000038058

4

4 回答 4

2

您不情愿地调用 Python 2.x 八进制模式,但是:

  • 你不能,因为里面有一个 8(运气不好?)
  • 在python 3(也适用于python 2.7)中,八进制前缀不再是:0因此0o出现无效令牌。

最好在没有前导零的情况下存储您的值,并在打印它们时添加前导零

print("%012d"%table['Fac_ID'])
于 2016-08-11T19:15:34.403 回答
1

不要将其转换为字符串,首先将其用作字符串:

>>> table['Fac_ID'] = str(00000038058)
  File "<stdin>", line 1
    table['Fac_ID'] = str(00000038058)
                                    ^
SyntaxError: invalid token
>>> table['Fac_ID'] = '00000038058'
>>> print table['Fac_ID']
00000038058

str 与任何函数一样,在将参数传入之前将其评估为一个值,因此如果在 str 之前存在无效标记,则使用 str 不会改变它。您需要使用有效的令牌,因此只需对字符串进行硬编码。

于 2016-08-11T19:15:49.360 回答
0

用引号将数字括起来。

表['Fac_ID'] = "00000038058"

于 2016-08-11T19:18:03.880 回答
0

您可以使用zfill填充零。假设您要填充最多 11 个零:

>>> str(38058).zfill(11)
'00000038058'

这显然会创建一个零填充字符串,用作基于整数的键。

于 2016-08-11T19:22:53.640 回答