Python脚本找不到导入的函数
我有两个非常简单的python文件。我这样做是为了测试blah2.py是否在2秒睡眠后看到最初声明为无的两个变量的更新版本。文件如下: 废话 废话 我得到以下错误,虽然,我不知道为什么Python脚本找不到导入的函数,python,import,Python,Import,我有两个非常简单的python文件。我这样做是为了测试blah2.py是否在2秒睡眠后看到最初声明为无的两个变量的更新版本。文件如下: 废话 废话 我得到以下错误,虽然,我不知道为什么 Traceback (most recent call last): File "blah1.py", line 2, in <module> import blah2 File "/home/pi/blah2.py", line 1, in <module> f
Traceback (most recent call last):
File "blah1.py", line 2, in <module>
import blah2
File "/home/pi/blah2.py", line 1, in <module>
from blah1 import movingVariable1
File "/home/pi/blah1.py", line 10, in <module>
blah2.myFunc()
AttributeError: module 'blah2' has no attribute 'myFunc'
虽然在blah2.py中,myFunc明确定义为一个函数。有人能解释一下我在这个基本例子中做错了什么吗 您正在blah2.py中创建循环依赖项 在您的示例中,blah1导入blah2,blah2反过来导入blah1,blah1将再次导入blah2,以此类推 为myFunc设置movingVariable&movingVariable2参数,并删除blah2.py中blah1.py的导入 对后续行动的答复
# blah1.py
from blah1 import movingVariable1
from blah1 import movingVariable2
def myFunc():
global movingVariable1
global movingVariable2
print(movingVariable1)
print(movingVariable2)
如果你像这样改变它,它会工作的。既然blah2导入blah1.py时没有看到import blah2,那么_name uuuuuuuuuuuu将不等于_main uuuuuuuuuuuuuu。仅仅导入这两个变量,而不是整个blah1.py,是否仍然会导致循环依赖?我知道如果我导入整个文件会有问题,但我认为它不会只包含单个变量。如果您的问题得到解决,请接受答案。
Traceback (most recent call last):
File "blah1.py", line 2, in <module>
import blah2
File "/home/pi/blah2.py", line 1, in <module>
from blah1 import movingVariable1
File "/home/pi/blah1.py", line 10, in <module>
blah2.myFunc()
AttributeError: module 'blah2' has no attribute 'myFunc'
# blah1.py
from blah1 import movingVariable1
from blah1 import movingVariable2
def myFunc():
global movingVariable1
global movingVariable2
print(movingVariable1)
print(movingVariable2)
# blah2.py
from time import sleep
movingVariable1 = None
movingVariable2 = None
if __name__ =='__main__':
import blah2
sleep(2)
movingVariable1 = "sup"
movingVariable2 = "blahhh"
blah2.myFunc()