3

与其说是特定的编码问题,不如说是一般的程序结构。

我是那些自学成才的业余程序员之一,我不知道这里最好的路线是什么。我想创建一个具有 4 个变量(名称、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 次。

希望这有点道理。

谢谢,
db_

4

1 回答 1

2

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

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

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

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

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

topObj 然后可以为所有 myObj 构造函数提供该字典。无论如何,它总是同一个字典,我不明白它有什么不好的地方,恰恰相反:它是明确的,所以它是 Python 的方式。

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

从文本文件中提取

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

于 2012-07-18T21:53:32.023 回答