【发布时间】:2020-10-23 19:57:37
【问题描述】:
我有一个创建对象的类,允许我访问实验相机系统的属性。我有一些配置属性保存在字典中,用于某些相机最初应该位于的位置。由于这些初始设置可能会有所不同,因此我无法将它们硬编码到类中,而是需要将它们分开放在我使用 json 库访问的文本文件中。
有没有办法将 dict 传递给一个类,以便可以使用它的键值对?
简化代码
import any_dict_01
import json
data = any_dict_01
class dummy(data):
def __init__(self):
self.data = data
def getDict(self):
print(self.data)
a = dummy()
a.getDict()
工作代码
根据 karl 在 cmets 中的提示和建议,我想出了如何做到这一点(我希望 karl 将他的 cmets 作为答案,以便我可以接受)。
import json
data = 'my_rig.txt'
class dummy:
def __init__(self, data):
self.data = data
def getDict(self):
with open(data) as json_file:
data = json.load(json_file)
print(data)
a =dummy()
theDict = a.getDict(data)
【问题讨论】:
-
你快到了。一个典型的构造函数看起来像
def __init__(self, data): self.data = data -
class dummy(data):->class Dummy: -
data = any_dict_01not 使data成为any_dict_01模块定义的任何特定dict。它使data成为同一模块的另一个名称。 -
无论如何,这个问题与课程无关。 init 方法获取信息的方式与任何普通函数获取信息的方式相同:通过给它一个参数,并且将信息作为参数传递。
-
@KarlKnechtel 如果您将其作为答案,合并的 2 个 cmets 我将接受它,因为我编写了一些有效的代码,谢谢。
标签: python class dictionary oop text-files