以程式設計方式編輯 Python 原始程式碼通常涉及讀取程式碼並將其解析為抽象語法樹 (AST)。然而,修改 AST 並寫回修改後的程式碼以產生新的原始檔案對於像 ast 和編譯器這樣的標準 Python 模組來說可能具有挑戰性。
lib2to3 函式庫提供了解決此問題的一個方法,例如Pythscope 測試案例產生器和 Python 2to3 工具。 lib2to3 在解析、轉換和產生修改後的程式碼時會保留原始程式碼中的註解。
另一種選擇是 rod 項目,它提供了更全面的原始碼重構方法。 Rope 包括對各種轉換操作和重構的支援。
對於 AST 操作,可以使用 ast 模組。然而,雖然 ast 模組可以轉換 AST,但它主要用於建立程式碼物件。
另一個選擇是 redbaron 項目,它提供了 DSL,用於以簡潔且可管理的方式修改 Python 原始碼。
這些工具可讓您透過 AST 操作以程式設計方式修改 Python 原始程式碼,從而實現突變測試、程式碼轉換和重構等自動化任務。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3