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

时间:2012-07-18 21:39:18

标签: 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

我的问题/问题是我希望根据objID的值从.txt文件中提取a和b的初始值。我实际上想要的不仅仅是2个变量,而且我将用十几种不同的类型创建数百个这些对象。

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

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

希望这有点似乎有意义。

谢谢,
分贝_

1 个答案:

答案 0 :(得分:2)

  

我认为我不想从这个类中读取文件,

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

  

我真的不喜欢将它拉入列表/数组/字典并将其传递给类,因为myObj类只能从它上面的对象调用,也有几十个实例。

如果你不喜欢,你不必将它存储在实例中。

只需将整个文件读入字典并将其传递到您需要的地方。这不像是每次都在克隆字典。

topObj然后可以给所有myObj构造函数那个字典。无论如何它始终是相同的字典,我没有得到它应该是坏的,恰恰相反:它是显式的,所以它是Python的方式。

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

  

从文本文件中提取

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