[英]How to import only one part of a module and stop compiling other parts in Python?
我的項目中有2個文件-
**file1.py**
class A():
# Some code...
class B():
# Calling an API to get the data
另一個文件是-
**file2.py**
from file1 import A
# Some code....
這里的問題是我只想導入類A,但是由於python的默認行為,它也確實編譯了在類B內編寫的代碼,這不需要調用API。
如何解決?
只需將代碼拆分為單獨的模塊,或重構類B
以免在導入時調用API。
在Python中不支持部分導入。 import
機制給您的唯一選擇是僅加載整個文件。
這意味着您必須自己加載文本文件,然后解析出所需的部分,然后編譯並執行這些部分。 這充滿了問題,因為您必須自己檢測任何依賴關系,才能就哪些可以省略和哪些不能省略作出明智的決定。
如果您真的想走這條路,則需要查看ast
模塊,以生成包含在模塊文件中的對象樹。 我將使用對象上的行號來確定要編譯的原始源文件的哪些部分(將樹轉換回字節碼比較困難)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.