プログラムによる Python ソース コードの編集では、多くの場合、コードを読み取り、抽象構文ツリー (AST) に解析する必要があります。ただし、AST を変更し、変更されたコードを書き戻して新しいソース ファイルを生成することは、ast やコンパイラなどの標準 Python モジュールでは困難な場合があります。
この問題に対する 1 つの解決策は、で使用されている lib2to3 ライブラリによって提供されます。 Pythscope テスト ケース ジェネレーターと Python 用の 2to3 ツール。 lib2to3 は、変更されたコードを解析、変換、生成するときにソース コード内のコメントを保持します。
代替オプションとして、ソース コードのリファクタリングに対するより包括的なアプローチを提供するロープ プロジェクトがあります。 rope には、さまざまな変換操作とリファクタリングのサポートが含まれています。
特に AST 操作には、ast モジュールを使用できます。ただし、ast モジュールは AST を変換できますが、主にコード オブジェクトの作成を目的としています。
もう 1 つのオプションは、簡潔で管理しやすい方法で Python ソース コードを変更するための DSL を提供する redbaron プロジェクトです。
これらのツールを使用すると、AST 操作を通じて Python ソース コードをプログラムで変更でき、突然変異テスト、コード変換、リファクタリングなどの自動タスクが可能になります。
以上が質問形式の必要性を念頭に置いて、タイトルのオプションをいくつか示します。 **課題に焦点を当てる:** * **AST を使用して Python ソース コードをプログラム的に変更するにはどうすればよいですか?** * **エナのツールとはの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。