Python 何时从文件中提取默认值?

Python 何时从文件中提取默认值?,python,Python,与其说是一个具体的编码问题,不如说是一个一般的程序结构问题 我是一个自学能力差的业余程序员,我不知道最好的方法是什么。我想创建一个包含4个变量(name、objID、a和b)的对象。例如: class myObj: def __init__(self, objName, objID): self.name = objName self.objID = objID self.a = 0 self.b = 0 我的问题是,我希

与其说是一个具体的编码问题,不如说是一个一般的程序结构问题

我是一个自学能力差的业余程序员,我不知道最好的方法是什么。我想创建一个包含4个变量(name、objID、a和b)的对象。例如:

class myObj:
    def __init__(self, objName, objID):
        self.name = objName
        self.objID = objID
        self.a = 0
        self.b = 0
我的问题是,我希望根据objID的值从.txt文件中提取a和b的初始值。实际上,我需要的不仅仅是两个变量,我将创建数百个具有十几种不同类型的对象

我不想从这个类中读取文件,因为我相信每次创建一个对象时它都会重新打开文件,我也不太喜欢将它拉到列表/数组/字典中并传递给类,因为myObj类只会从它上面的一个对象调用,也有几十个实例

为了澄清,我计划创建100个“topObj”对象,每个对象有5-10个“myObj”对象,每个“myObj”都有从文本文件中提取的起始值(以后会更改),我不知道何时何地从文本文件中读取数据而不读取500-1000次

希望这看起来有点道理

谢谢,
分贝_

我想我不想读这个类的文件

可能不是,因为类代表一个条目,所以您必须在每个条目上搜索整个文件,正如您所说的

我真的不喜欢把它放到列表/数组/字典中并传递给类,因为myObj类只能从它上面的一个对象调用,也有几十个实例

如果不喜欢,不必将其存储在实例中

只需将整个文件读入字典,并在需要的地方传递即可。并不是每次都在克隆字典

topObj然后可以将该字典提供给所有myObj构造函数。无论如何,它总是同一本词典,我不知道它有什么不好的地方,恰恰相反:它是显式的,所以它是Python的方式

您可能需要一些快速查找条目的方法,这就是您可以做到的

从文本文件中提取


仅从一个文本文件,独立于topObjs?然后将文本文件的内容读入字典,并将其传递(如果需要,您可以将其放入加载函数以使其整洁)。

我会首先从文件中读取内容,对其进行解析,然后将值存储在字典中。实例化每个类时,可以将字典作为参数传入,也可以将字典设置为myObj中的类变量(不是实例变量)。如果使用相同的初始值反复创建同一个对象,可以只创建一次,然后为方便起见再加1,我建议把字典变成一个类变量。听起来这就是我要找的。在“main”中打开文件并将其传递给每个topObj,这样他们就可以将其传递给他们的“myObj”,这感觉很奇怪。感谢大家的帮助。