日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python2转python3代码_2to3 – 自动Python 2到3代码翻译 – 开发工具(Python教程)(参考资料)...

發布時間:2024/7/5 python 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python2转python3代码_2to3 – 自动Python 2到3代码翻译 – 开发工具(Python教程)(参考资料)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用2to3

2to3通常與Python解釋器一起安裝為腳本。它也位于Python根目錄的Tools/scripts目錄下

2to3的基本參數是要轉換的文件或目錄列表。這些目錄以遞歸方式遍歷Python源.

這是一個示例Python 2.x源文件,

def greet(name): print "Hello, {0}!".format(name)print "What"s your name?"name = raw_input()greet(name)

它可以通過命令行上的2to3轉換為Python 3.x代碼:

$ 2to3 example.py

打印對原始源文件的差異。2to3也可以將所需的修改寫回源文件。(原始文件的備份除非也給出了-n。)使用-w flag:

$ 2to3 -w example.py

改寫后,使用

def greet(name): print("Hello, {0}!".format(name))print("What"s your name?")name = input()greet(name)

在整個翻譯過程中保留注釋和精確縮進.

默認情況下,2to3運行一組預定義的固定器。-l標志列出了所有可用的固定器。可以使用-f給出一組明確的運行修復程序。同樣-x顯式禁用了混音器。以下示例僅運行has_key fixers:

$ 2to3 -f imports -f has_key example.py

此命令運行除apply fixer之外的每個修復程序:

$ 2to3 -x apply example.py

一些修復程序是explicit,意味著它們不是默認運行的,必須在要運行的命令行上標記。這里,除了默認的修復程序,idioms修復程序運行:

$ 2to3 -f all -f idioms example.py

請注意如何通過all啟用所有默認修復程序.

有時2to3會在源代碼中找到需要更改的位置,但2to3無法自動修復。在這種情況下,2to3將在diff的下方為文件打印警告。您應該解決警告,以便符合3.x代碼.

2to3也可以重構doctests。要啟用此模式,請使用-d標志。請注意only doctests將被重構。這也不要求模塊是有效的Python。例如,doctest就像reSTdocument中的例子也可以用這個選項重構.

-v選項可以輸出關于翻譯過程的更多信息.

因為一些打印語句可以解析為函數調用或語句,2to3不能總是讀取包含打印函數的文件。當2to3檢測到from __future__ print_function編譯器指令的存在時,它將其內部語法修改為將print()解釋為函數。也可以使用-p標志手動啟用此更改。使用-p在已經有其print語句轉換的代碼上運行修復程序

// -o或--output-dir選項允許指定處理輸出文件的分析目錄。使用它時需要-n標志,因為備份文件在沒有覆蓋輸入文件時沒有意義.

新版本3.2.3: -o選項已添加.

-W或--write-unchanged-files標志告訴2to3始終寫入輸出文件,即使文件不需要更改。這對-o最有用,所以整個Python源代碼樹都會從一個目錄復制到另一個目錄。這個選項意味著-w標志,否則就沒有意義了.

版本3.2.3中的新增內容:添加了-W標志.

--add-suffix選項指定要附加到所有輸出文件名的字符串。指定此時需要-n標志,因為在寫入不同的文件名時不需要備份。示例:

$ 2to3 -n -W --add-suffix=3 example.py

將導致轉換后的文件名為

新版本3.2.3: --add-suffix選項已添加.

要將整個項目從一個目錄樹轉換為另一個目錄樹,請使用:

$ 2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode

總結

以上是生活随笔為你收集整理的python2转python3代码_2to3 – 自动Python 2到3代码翻译 – 开发工具(Python教程)(参考资料)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。