代码之家  ›  专栏  ›  技术社区  ›  sds Niraj Rajbhandari

如何将python2长整数语法读入python3?

  •  0
  • sds Niraj Rajbhandari  · 技术社区  · 6 年前

    我有一个用python2编写的旧文件,其中包含如下内容 148191387849281587952L . 当我试图阅读它(使用 ast.literal_eval )在蟒蛇3中,我,自然,得到 SyntaxError: invalid syntax .

    我能把文件读入python3吗?

    另外,我现在看到的唯一解决方案是修改文件:

    1. 转换为JSON:将文件读入python2,使用JSON编写,然后使用JSON读入python3。

    2. 消除冒犯 L 使用 sed -i 's/([0-9]+)L/\1/g' .

    3. 使用转换文件 2to3 (由@user3080953建议)。

    还有更好的吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Elazar    6 年前

    在你澄清之后,有一个简单的答案:

    不,您不能修改 ast.leteral_eval() 或者python解释器与 L 语法。