[翻译]移植代码到Python3(三)
来源:互联网 发布:c语言模块化头文件 编辑:程序博客网 时间:2024/06/14 05:59
移植代码到Python3
-介绍
-迁移策略
-运行时警告
-向前特性
-2to3源码转换器
介绍
-不止一种方法来完成
-移植C扩展是另一个怪物
迁移策略
1.改进你的测试套件
2.移植代码到Python2.6
3.开放Python3的警告
4.修复所有的警告
5.改造你的代码
6.运行2to3
代码改造
-缩小语义差距
-减少2to3的工作量
-例子:
-使用dict.iterkeys(), xrange()等
-避免str和unicode的隐式转换
-使用__getitem__替换__getslice__
运行时警告
python2.6 -3 scriptname.py
-警告Python3中移除了的特性
-警告2to3不能自动处理的改变
向前特性
Python3的许多特性在Python2.6中有效
-新的I/O库
-Unicode和bytes
-未来的内嵌函数
-捕获和抛出异常的新语法
-新ast模块,高级字符串格式,丰富的比较等
2to3源码转换器
-转换文件或目录
-产生一个相异格式的补丁
2to3 project/ > python3.patch
-也可以修复doctests
2to3 -d tests.py
-修复器可以单独运行
局限性
-只能处理语法转换——也就是说没有类型推断
-不能修复下面这些:
将近的改变
-%型的格式可能将弃用
-性能改善
-新importlib模块
总结
-Python3有许多新特性
-有许多工具辅助转换
-发送bug报告到http://bugs.python.org/
-订阅pythonporting邮件列表以获取更多帮助
(完)
- [翻译]移植代码到Python3(三)
- [翻译]移植代码到Python3(一)
- [翻译]移植代码到Python3(二)
- python3与python2的一些区别(使用2to3将代码移植到python3)
- Python3.5.1 百度翻译代码
- windows到Linux代码移植
- linux代码移植到windows
- 如何移植library到android(三)
- 如何移植library到android(三)
- u-boot移植到mini2440之三
- 移植MyBB到SAE平台(三)
- 移植FFMPEG到VS2008系列之三
- Windows 到 Linux 代码移植的常见问题
- 从VC6到VC9移植代码问题
- 移植PIC代码到MSP随想
- vc6到vc9移植代码问题
- 代码从GCC到MSVC的移植
- 现有代码移植到Metro App
- 我的WLW配置备份
- SQL Server 索引结构及其使用(四)
- 如何去掉IE7启动时的"自定义您的设置"
- 每天学一点flash(55)flash与js交互问题
- 用栈实现的一个怪怪的二叉树前序遍历
- [翻译]移植代码到Python3(三)
- 如何查看数据库端口信息?
- 那一次培训
- instanceof 操作符
- 又见 pthread 和 uclibc 冲突
- 关于smary数组遍历的基本应用
- Map容器的用法(STL)
- LSI SAS控制器芯片Firmware加载
- 如何编译Chrome