Python:在限制性环境中读取/存储配置文件?

时间:2012-07-17 06:44:07

标签: python configuration-files

以下是该方案:

我正在编写一个程序,它将在Telit HE910 GSM模块中运行,该模块有一个板载python解释器。 我希望我的程序能够在GSM模块上的配置文件中读取和存储一些参数。 该文件有时可能会被转移到一台单独的机器中进行查看和更改,因此它应该是机器可读的并且可以在多个平台上写入。

到目前为止,针对此问题有多种解决方案。这是踢球者:

  • GSM模块没有用于解析/编写配置文件的任何python模块(因此我不能简单地使用import yamlimport jsonimport configparser,甚至{{1} })
  • GSM模块不允许创建子目录。从我有限的理解,这可以防止我简单地将所谓的PyYAML python模块的内容转储到GSM模块并从我的程序中调用它。

我发现了类似的问题here,但我甚至不知道GSM模块的文件系统在哪里。 import csv似乎不起作用,这很奇怪(与文档相反)。

我知道我可以使用Python文件存储一些只读配置,但我也希望能够写入配置文件(重新设计系统以避免这是非常不合适的。)

我认为到目前为止我最好的选择似乎是自己编写一个简单的csv解析器/编写器,除非有人有更好的想法(或者知道如何利用没有任何子目录的Python模块)。

PS:以下文档包含支持的模块列表。但是,配置相关的模块似乎都不可用。

编辑:我应该提到,配置文件需要从c#.NET应用程序读取/写入,而不是桌面上的另一个python解释器。

3 个答案:

答案 0 :(得分:2)

您有_ast(§5.2.36),因此应该可以重新实现ast.literal_eval()。在那时,阅读和写作变得非常微不足道。

答案 1 :(得分:1)

我不建议在正常的Python使用中使用它,但可能的选项是您发布的手册的5.2.34中提到的marshal模块,以及此处的描述/限制/警告:{{3} }

答案 2 :(得分:0)

为什么不打开txt文件并将所有信息存储为文本文件?我阅读了模块的Easy Script Manual,有一个posix模块,支持open,close,unlink等方法。