[英]import on Python doesn't work as expected
盡管應該導入變量,但出現“未定義名稱X”的異常。
from config import *
from utils import *
say_hello()
from config import *
def say_hello():
print(config_var)
from utils import *
config_var = "Hello"
嘗試運行“ main.py”:
追溯(最近一次通話最近):在say_hello()中的文件“ main.py”,第3行,在say_hello中的文件“ C:\\ Users \\ utils.py”,第3行,print(config_var)NameError:名稱為“ config_var”沒有定義的
這里發生了什么? 為什么some_var無法從utils.py訪問?
您正在util中導入config和config中的util會導致此錯誤(創建交叉循環)。 from utils import *
刪除config.py,然后嘗試。
在main.py中,您不需要from config import *
除非您直接在main()中使用config中的變量
您還應該導入config.config_var,因為此變量屬於該特定模塊
您要創建許多import語句,也許可以嘗試以下操作,但是如果要在utils.py中傳遞參數,則需要在utils.py中定義一個參數。
在utils.py中,由於您要打印出適當的值,因此需要傳遞一個參數。在config.py中,您要定義一個值。 然后在main.py中,如之前討論的使用通配符運算符“ *”在這種情況下並不完全一樣,那么為了調用相應的函數,您需要通過其文件名來對其進行尋址
在utils.py中:
def say_hello(config_var):
print(config_var)
在config.py中
config_var = "Hello"
然后在main.py中
import config as cn
import utils as ut
ut.say_hello(cn.config_var)
簽出此線程以了解如何編寫python模塊以及如何編寫python模塊/軟件包?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.