ホームページ  >  記事  >  バックエンド開発  >  Python3 スクリプトと Python2 スクリプト間の変換を 1 秒で完了する実用的な方法はありますか?

Python3 スクリプトと Python2 スクリプト間の変換を 1 秒で完了する実用的な方法はありますか?

PHPz
PHPz転載
2023-04-15 09:31:022052ブラウズ

Python3 スクリプトと Python2 スクリプト間の変換を 1 秒で完了する実用的な方法はありますか?

Python2 と Python3 の間には、モジュールの構文と使用法にいくつかの違いがあります (ここでは詳しく説明しません)。初心者はコード作成に Python3 を直接使用することをお勧めします。実際の業務では、python2を使った運用保守やテストスクリプトが継続的に実行されていることが多く、python3をpython2に変換する(またはpython2をpython3に変換する)バッチ作業が発生した場合、どう対処すればよいでしょうか。行が必要ですか? コードを 1 行ずつ手動で変更してはどうでしょうか? 答えは「いいえ」です。この記事では、具体的な実装計画を紹介します。

Python 2 を Python 3 に変換します

Python3.7 (変換ツール C: Python37Toolsscripts2to3 に付属) これを cmd コマンド ラインで直接使用できます:

python 2to3 .py -w D:/test.py #Python2 の test.py は python3 に変換されます

test.py ファイルは非常に単純で、ステートメントを出力するだけです

print "hello.py"
C:Python37Toolsscripts>python 2to3.py -w D:/test.py

RefactoringTool: Skipping optional fixer: buffer

RefactoringTool: Skipping optional fixer: idioms

RefactoringTool: Skipping optional fixer: set_literal

RefactoringTool: Skipping optional fixer: ws_comma

RefactoringTool: Refactored D:/test.py

--- D:/test.py (original)

+++ D:/test.py (refactored)

@@ -1 +1 @@

-print "hello.py"

+print("hello.py")

RefactoringTool: Files that were modified:

RefactoringTool: D:/test.py

実行後、テストを確認します.py、変換済み コードは次のとおりです:

print("hello.py")

-w パラメータは、古いファイルを新しいファイルで上書きします。 -w を指定しないと、変更された場所のみがコンソール ウィンドウに表示されます (コンテンツもファイル内のファイルは変更されません); ファイルは .bak にバックアップされます (例: test.py.bak)。bak ファイルを生成する必要がない場合は、パラメータ -n を追加するだけです。

特定のフォルダー内のすべてのファイル (ドライブ D のテスト フォルダー内のすべてのファイルなど) を変換する必要がある場合は、コマンド ラインに次のように入力します:

python 2to3.py -w D:/test/

python 3 to python 2

最初に Python パッケージをインストールします: lib3to2、pip install 3to2

インストールが成功すると、特定の Python 用の 3to2 というファイルがディレクトリ C:Python37Scripts

に生成されます。変換する必要があるファイル (たとえば、ドライブ D のルート ディレクトリにある test.py) をコマンド ラインに入力します:

python 3to2 -w D:/test.py #python3 test.py が変換されますto python2

特定のフォルダー内のすべてのファイル (ドライブ D のテスト フォルダー内のすべてのファイルなど) を変換する必要がある場合は、コマンド ラインに次のように入力します:

python 3to2 -w D:/test/

Python 3 から Python 2 に変換する方法と Python 2 から Python 3 に変換する方法は非常に似ています!

以上がPython3 スクリプトと Python2 スクリプト間の変換を 1 秒で完了する実用的な方法はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。