当前位置: 首页 > Web前端 > HTML

野子科技python3代码兼容python2

时间:2023-04-02 20:37:35 HTML

野子电竞数据官网改版https://www.xxe.io/全新登场python3代码兼容python2方式1.使用未来的特性每个新版本的Python都会增加一些新增功能,或对原有功能进行一些改动。有些变化是不兼容旧版本的,即在当前版本中可以正常运行的代码在下一个版本中可能无法正常运行。Python提供了__future__模块将下一个新版本的特性导入到当前版本中,这样我们就可以在当前版本中测试一些新版本的特性。比如在python2.7中使用python3的print("xxx"),需要在文件开头引用future模块,否则会报错:SyntaxError:fromfutureimportsmustoccuratthebeginningoffile1使用更高版本的printanddivisionfromfutureimportprint_functionfromfutureimportdivision123Python2.7.12(default,Nov122018,14:36:49)[GCC5.4.020160609]onlinux2Type"help","copyright","credits"or"license"formoreinformation.importfutureprint'aaa'aaaprint(aa)Traceback(mostrecentcalllast):File"",line1,inNameError:name'aa'is未定义打印(“aa”)aaprint('aa')aa1234567891011121314152。使用一个scripttoconvertpy2topy3将python2代码转换成python3代码。网上大部分的回答都是通过python安装目录下的Tools/scripts/2to3.py脚本;如果是windows系统下,2to3.py在【python或anaconda安装目录】scripts目录下;但是在ubuntu16.04系统中,通过apt-getinstall安装的python3.5.2系统中没有2to3.py文件。在/usr/bin/目录下,有几个2to3命令,可以直接调用。2to3-w/path/a/file.py12345672to3指令的参数:Usage:2to3[options]file|dir...Options:-h,--helpshowthishelpmessageandexit-d,--doctests_onlyFixupdoctests只有-fFIX,--fix=FIX每个FIX指定一个转换;默认值:所有-jPROCESSES,--processes=PROCESSES并发运行2to3-xNOFIX,--nofix=NOFIX防止转换运行-l,--list-fixes列出可用的转换-p,--print-function修改语法使得print()是一个函数-v,--verbose更详细的日志记录--no-diffs不显示重构的差异-w,--write写回修改后的文件-n,--nobackups不要t为修改后的文件写备份-oOUTPUT_DIR,--output-dir=OUTPUT_DIR将输出文件放在这个目录中而不是覆盖输入文件。需要-n.-W,--write-unchanged-files即使不需要更改也写入文件(与--output-dir一起使用);暗示-w.--add-suffix=ADD_SUFFIX将此字符串附加到所有输出文件名。如果非空则需要-n。例如:--add-suffix='3'将生成.py3文件。