我有一个使用python2编写的旧文件,其中包含诸如148191387849281587952L
之类的内容。
当我尝试在python3中使用ast.literal_eval
读取它时,我自然会得到SyntaxError: invalid syntax
。
有什么办法可以将文件读入python3吗?
PS。我目前看到的唯一解决方案需要修改文件:
转换为JSON:将文件读入python2,使用json写入,然后使用json读入python3。
使用L
删除有问题的sed -i 's/([0-9]+)L/\1/g'
。
使用2to3
(@ user3080953建议)转换文件。
还有什么更好的吗?
答案 0 :(得分:0)
澄清后,有一个简单的答案:
否,您无法将ast.leteral_eval()
或python解释器修改为与L
语法“向后兼容”。