[英]Importing Two Files into eachother in python
我正在用 Python 制作一個文本游戲,我有兩個菜單,主菜單和攻擊菜單。 這些函數位於兩個不同的文件中。
當我from attack import *
獲取攻擊菜單功能時,它可以工作,我可以調用attack_menu()
函數。
但是,當我from main import *
轉到我的攻擊文件,然后嘗試調用main_menu()
時,它不起作用。 有沒有辦法將兩個文件相互導入而不會出錯?
正如您所發現的,循環導入不起作用。 但還有第二個問題潛伏着。 假設您將main.py
作為腳本運行,它是一個名為__main__
的模塊,而不是main
。 當attack
導入main
時,它會獲得main
的第二個副本。 main
進口再次attack
,你有你的循環參考。
解決方案是從main
中獲取attack
想要的所有內容並將其移動到單獨的 .py 文件中。 讓我們稱之為commonstuff.py
。 現在attack
導入commonstuff
和main.py
導入模塊和導入工作。
main.py
是腳本, attack
和commonstuff
是模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.