2021-04-21python小白成长之:版本中立的打印

版本中立的打印

2to3转换器

其中一种方案是,你可以编写Python 2.X的print语句并使用Python 3.X的2to3转换脚本自动将他们转换为Python 3.X函调用。可参阅Python 3.X的手册以更详细地了解这一脚本,它会试图把Python 2.X的代码转换成可以在Python 3.X下运行。该脚本是一个很有用的工具,但如果你只是想让打印操作变得版本中立的话就显得大材小用了。另一个相关的工具叫作3to2,作用正好相反:将3.X的代码转换成可在2.X下运行。

2to3-自动化的Python 2到3代码转换

  1. 目录. C:\Python33\Tools\Scripts\2to3.py. 其实在python2.6,2.7中都存在这个工具。

  2. 如果不加-w参数,则默认只是把转换过程所对应的diff内容打印输出到当前窗口而已。

  3. 加了-w,就是把改动内容,写回到原先的文件了。

  4. 可以看见在python 2to3.py 后面是需要参数的,我们输入–help 可以看到所需的参数信息。
    在这里插入图片描述

  5. 2to3.py 脚本可以单独转换python2.x 代码 到python3,也可以按照目录批量的转换:

  • 按目录转换
    假设要转换的代码在目录:D:\python_code
    那么在CMD里面输入:
C:\Program Files\Python 3.8\Tools\scripts>python 2to3.py -w D:\python_code
  • 按指定代码转换
C:\Program Files\Python 3.8\Tools\scripts>python 2to3.py -w D:\python_code\code1.py

从__future__导入

你可以通过把下面这条语句编写在脚本顶部,或者放在交互式会话的任何位置,来在Python 2.X运行的代码中编写和使用Python 3.X的print函数调用:

from __future__ import print_function

这条语句让Python 2.X能够支持Python 3.X的print函数。通过这种方式,我们可以使用Python 3.X的print功能,而且如果之后迁移到Python 3.X的话也不必修改print。这里给出两条使用注意:

  • 如果这条语句在通过3.X运行的代码中出现,则被直接忽略,也就是说为了2.X的兼容性在3.X的代码中加入这条语句不会影响在3.X中的运行。
  • 这条语句必须出现在所有支持2.X打印的源文件的顶部——因为它只是为单个文件修改解析器,所以只导入一个包含该语句的另一个文件是不够的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值