gpt4 book ai didi

python - 如何使用变量向对象添加参数

转载 作者:行者123 更新时间:2023-11-30 22:41:43 24 4
gpt4 key购买 nike

我正在尝试使用循环将一些变量放入容器(对象)中。

我创建了以下类

class Box():
pass

现在我想初始化该类并将文本文件中的变量添加到其中。我的文本文件如下所示:

a = 1
b = 2
c = 3
d = 4

我尝试了以下代码

vars = Box()

filename = ('inputfile.txt')

with open (filename) as f:
for line in f:
parts = line.split()
var_name = str(parts[0])
var_value = parts[2]
vars.var_name = var_value

我不明白为什么这种方法不起作用。

最佳答案

我认为您想要做的是使用类作为数据的存储介质。正如 asongtoruin 已经说过的,你可以使用字典。否则你需要让这个类真正成为一些东西:

class Box():
def __init__(self):
pass
def __getitem__(self, name):
return getattr(self, name)
def __setitem__(self, name, value):
return setattr(self, name, value)

然后您就可以按原样使用几乎所有代码:

vars = Box()

filename = ('inputfile.txt')

with open (filename) as f:
for line in f:
parts = line.split()
var_name = str(parts[0])
var_value = parts[2]
vars[var_name] = var_value

print(vars.a)

为什么你的方法不起作用,巴拉克·马诺斯已经解释过:vars.var_name不使用变量var_name的值,因为调用a的语法类方法不支持此表示法(有充分的理由)。

关于python - 如何使用变量向对象添加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42410830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com