【发布时间】:2021-01-14 12:21:32
【问题描述】:
我在一个包中有一个文件 A.py,其中有一个类和一个列表作为类属性或类变量。文件 A 运行循环以将值更新到该列表。如何获取列表和对文件 B.py 的所有更改(在另一个包中)。
【问题讨论】:
我在一个包中有一个文件 A.py,其中有一个类和一个列表作为类属性或类变量。文件 A 运行循环以将值更新到该列表。如何获取列表和对文件 B.py 的所有更改(在另一个包中)。
【问题讨论】:
当只使用“类属性”时,值是静态的,一个简单的“导入”应该可以工作。
例如proj/package1/A.py:
class A:
attr1 = "foo"
attr2 = "bar"
在所有目录中创建文件__init__.py:当前、package1、package2
从 proj/B.py 中的proj 目录导入 A:
from package1.A import *
print(A.attr1)
print(A.attr2)
从非父目录导入 A,例如。 proj/package2/B.py
import sys
sys.path.append("package1") # Run programme in `proj` dir
from A import *
print(A.attr1)
print(A.attr2)
【讨论】: