Python:将 python2 转换为 python3

Python: Converting python2 to python3

我正在尝试使用

https://github.com/iandees/mongosm/blob/master/insert_osm_data.py

这个包裹。好像是用Python2写的。我已经一路转换成next(context)了。但是,我得到 name 'long' is not defined.

有什么方法可以在某个地方定义它吗?我如何定义 'long' 并且我不知道这是什么,即使对于 Python2 脚本(不知何故工作得很好)。

long() 基本上是在 Python 3 中重命名为 int()。 详情请见https://www.python.org/dev/peps/pep-0237/

因此,要么搜索 long 并替换为 int,要么定义它

long = int

文件开头的某处。

您应该将所有代码转换为 Python3

https://www.google.com/search?channel=fs&client=ubuntu&q=Converting+python2+to+python3 https://docs.python.org/3/library/2to3.html