[英]Python: How to access property from another file ? from file name import class didn't work
我是 Python 编程的新手。 我在文件 A 的 class 中拥有由 getter 和 setter 组成的属性。
class Histogram:
def getHue(self):
return self.value
def setHue(self, value):
self.varHueHist = value
HueHist = property(getHue, setHue)
我想从另一个文件B中的另一个class访问该属性。但是在我导入文件A和文件B中的class后,仍然无法访问该属性。
from Histogram import Histogram
class moment:
var = Histogram()
无法访问该属性。 当我尝试在我的 Spyder 中使用自动完成 (Ctrl+空格) 时,该属性也没有显示。 不幸的是,当我试图在与该属性相同的文件中访问 class 内的属性时,该属性是可读的。 如何从另一个文件中的 class 内部调用属性?
这两个文件已经在同一个文件夹中。 请帮忙。 谢谢
您尝试做的是使用描述符实现的。 你可以在这里看到更多:
https://docs.python.org/3/howto/descriptor.html
所以你的代码应该是这样的:
class Histogram:
def __set_name__(self, owner, name):
self.public_name = name
self.private_name = '_' + name
def __get__(self, obj, objtype=None):
return getattr(obj, self.private_name)
def __set__(self, obj, value):
setattr(obj, self.private_name, value)
现在您可以调用它,它将作为描述符设置并相应地获取。
import Histogram
class Moment:
var = Histogram()
此外,文件位于同一文件夹中并不意味着导入将起作用。 您应该在文件夹内创建一个init .py 空文件,然后执行
from folder.file import class_name
或者您可以将文件夹添加到路径中:
import sys
sys.path.extend(['complete_path_to_the_folder_where_code_is'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.