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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
.net等效于Java的Swing TableModel?   java将具有相同标记的xml结构解组到不同的字段   JavaSpringDataGemFire:自定义过期示例   设计模式质疑java中工厂函数的使用   文本区域中的swing格式。JAVA   Java:IEEE双倍于IBM浮点   java解析微数据时,我得到的是空值   java如何配置Ebean生成SQLite代码   具有复合工厂或抽象工厂的java工厂   如何使用java中的POI在excel工作表中获取小计   Java中指向整数的指针   java每次都会得到一个新的随机数[Dice Simulator]   javalucene:多线程文档复制   Java不仅使用ArrayList,还创建它(泛型)