Python ソース コードをプログラム的に編集するには、多くの場合、コードを読み取り、抽象構文ツリー (AST) に解析する必要があります。ただし、AST を変更し、変更されたコードを書き戻して新しいソース ファイルを生成することは、ast やコンパイラなどの標準 Python モジュールでは困難な場合があります。
この問題に対する 1 つの解決策は、次で使用される lib2to3 ライブラリによって提供されます。 Pythscope テスト ケース ジェネレーターと Python 用の 2to3 ツール。 lib2to3 は、変更されたコードを解析、変換、生成するときにソース コード内のコメントを保持します。
代替オプションは、ソース コードのリファクタリングに対するより包括的なアプローチを提供するロープ プロジェクトです。 rope には、さまざまな変換操作とリファクタリングのサポートが含まれています。
特に AST 操作の場合は、ast モジュールを使用できます。ただし、ast モジュールは AST を変換できますが、主にコード オブジェクトの作成を目的としています。
もう 1 つのオプションは redbaron プロジェクトです。これは、簡潔で管理しやすい方法で Python ソース コードを変更するための DSL を提供します。
これらのツールを使用すると、AST 操作を通じて Python ソース コードをプログラムで変更でき、突然変異テスト、コード変換、リファクタリングなどの自動タスクが可能になります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3