簡體   English   中英

在Python中,如何從導入的模塊訪問主模塊的名稱空間?

[英]In Python, how can I access the namespace of the main module from an imported module?

具體來說,我需要從導入模塊中的主模塊獲取一些對象和全局變量。 我知道當父模塊想要子模塊中的某些特定東西時如何找到這些東西,但是我不知道該如何朝另一個方向發展。

import __main__

但是不要這樣做。

您正在尋找的答案是:

import __main__

main_global1= __main__.global1

但是,只要模塊module1需要__main__模塊中的東西,則:

  • __main__模塊應將所有必要的數據作為參數提供給module1函數/類,
  • 或者您應該將需要共享的所有內容放在另一個模塊中,並將其作為import module2 __main__ import module2 __main__module1

我認為這會起作用:

import sys    
main_mod = sys.modules['__main__']

不知道這是否是一個好習慣,但是也許您可以將所需的對象和變量作為參數傳遞給在導入模塊中調用的方法或類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM