我有2个文件:
fileA.py
和
fileB.py
我正在尝试从fileA
内的函数设置(更改)fileB
的变量。我想要改变的变量是在一个类中(我相信该变量是一个Class变量)。我尝试在fileA
内导入fileB
,但收到了错误。
# fileA:
...
class SomeDialog(QDialog):
my_var = 0
...
# fileB:
...
from fileA import SomeDialog as sd
def my_func():
sd.my_var = 5
...
任何帮助?
答案 0 :(得分:1)
根据你得到的错误,你可能在某处有循环导入。它与您尝试对您的课程无关。
有关详细信息,请参阅ImportError: Cannot import name X
如果是这种情况,解决问题的唯一方法就是更改文件结构。
答案 1 :(得分:0)
你的课应该是这样的:
class SomeDialog(QDialog):
def __init__(self):
self.my_var = 0
然后您可以像这样访问my_var
:
SomeDialog.my_var
答案 2 :(得分:0)
类变量是在类内定义的,但是在类的任何方法之外。不使用类变量。所有类实例中的类变量值均相同
A.py
from B import SomeDialog as sd
def my_func():
print sd.my_var
sd.my_var = 5
return sd
_my_func = my_func()
print _my_func.my_var
B.py
class SomeDialog(object):
my_var = 0
#output
0
5