lib2to3import是一个实用程序,用于在导入时应用python 2到3代码转换。
lib2to3import的Python项目详细描述
lib2to3import是一个实用程序,用于在导入时应用python 2到3代码转换。
不带lib2to3导入
>>> from py2codes import py2_print Traceback (most recent call last): File "<stdin>", line 1, in <module> File "py2codes/py2_print.py", line 1 print "Written when Python 2 was majority." ^ SyntaxError: Missing parentheses in call to 'print'
使用lib2to3import
>>> from lib2to3import import lib2to3importer, prepending >>> fixers = ["lib2to3.fixes.fix_print"] >>> with prepending(lib2to3importer(fixers, "py2codes.")): ... from py2codes import py2_print ... Written when Python 2 was majority.
限制
无法同时对两个不同的根应用修复。
当您同时对“foo.module”和“bar.module”应用修复程序时,您 必须省略prefix参数,它使修复应用于所有模块 以及要导入的包。
并发导入:
from lib2to3import import lib2to3importer, prepending fixers = ["lib2to3.fixes.fix_print"] with prepending(lib2to3importer(fixers)): import foo.module # import chain: 1. foo.module -> 2. bar.module
2步骤导入(推荐):
from lib2to3import import lib2to3importer, prepending fixers = ["lib2to3.fixes.fix_print"] with prepending(lib2to3importer(fixers, "bar.")): import bar.module # ... 2 with prepending(lib2to3importer(fixers, "foo.")): import foo.module # ... 1