如何开发并解析数据结构

2024-04-26 03:53:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在设计一个天气程序,在那里我需要跟踪某些事情,并允许用户添加数据,这些数据将被保存并随后读取。我的领域是

城市 州 拉链 梅塔

以后我可能要对这个配置文件进行更多操作,因此我希望它具有如下内容:

[LOCATIONS]
Phoenix:AZ:85001:KPHX
Dallas:TX:75201:KDFW

[USER CONFIGS]
for later

设置写入文件应该不是很难,只需创建要写入的file对象,写入[Locations],然后将我计划保存在列表中的数据写入,然后用冒号连接列表。在

然而,我有点难以理解如何把它读回原处。在

我知道我可以一次读一行,检查line=='[LOCATIONS]',然后读后面的行,直到我找到一个空行,但是如果有一个额外的空行呢。或者我应该用('[')开始,而不添加空行。在

我试着在网上搜索,因为这看起来对新程序员来说是一个相当常见的问题,但是我却一无所获(除了一些关于CVS模块的知识,我认为这对我没有帮助)。在

一个使用sqlite的正式数据库将是多余的。最多每个用户可能有20-50个条目,大多数会更少。在

同样在程序中,在GUI中输入的每一项数据(除了状态)都会导致其他所有数据都被更新为正确的值。因为几乎每个数据项都可以作为潜在客户,所以我不确定应该如何设置它以便于搜索。我是否应该为City制作一个字典,其中包含一个类似于{'Dallas':('TX','75201','KDFW')}这样的结构来帮助查找metar{'KDFW':('Dallas','TX','75201')}和Zips{'75201':('Dallas','TX','KDFW')}?这似乎比遍历每一行来检查匹配要好一点,但是考虑到原始结构将是一个类似于['Dallas'、'TX'、'75201'、'KDFW']的列表,这似乎有点浪费。一个像字典一样的对象,其中的每一项都可以像键一样返回关联中的其他值。在

各种各样的想法和想法是值得赞赏的。在


Tags: 数据对象用户程序列表字典事情结构
3条回答

您可以使用sqlite,或任何其他类型的数据库,如Mysql等。。来存储你的数据。在

对于您建议的语法,这里有一个ConfigParser module,因此您可以轻松地解析文件,获得按节或任何您想要的分组的字符串。但以后它会导致其他麻烦-想想对文件的大规模更新。在

所以我建议也使用sqlite。它是一个标准模块,而且很小,因此没有开销或额外的依赖性。在

要存储数据,可以使用XML。然后使用python附带的任何XML解析器、SAX或DOM读取它。在

由于数据的大小非常小(每个用户只有大约20-25个条目),您可以采取先知道搜索项的方法,是状态名还是pin码等(要求用户在GUI中输入)。在

假设数据存储为[City State Pin Mater],则可以在相应的列中进行搜索。e、 g如果用户输入12345,并且您知道它是一个pin,您只需要在列表数据的第3个索引中搜索,然后返回列表。您可以在第二列中搜索州名称。在

即使记录的数量很大,比如几百条,这种方法也能起作用。在

相关问题 更多 >