【问题标题】:Output python into python-readable format将 python 输出为 python 可读格式
【发布时间】:2011-04-18 11:13:00
【问题描述】:

我们正在使用一个基于 python 的应用程序,它读取包含几个数组的配置文件:

配置文件布局示例:

array1 = [
'bob',
'sue',
'jayne'
]

目前对配置的更改是手动完成的,但我编写了一个小界面来简化流程(主要是为了避免错误)。

它目前使用简单的“导入”读取现有配置。但是我不知道该怎么做,就是让我的脚本用有效的 python 编写它的输出,以便主应用程序可以再次读取它。

我怎样才能将数组转储回文件中,但在有效的 python 中?

干杯!

【问题讨论】:

    标签: python arrays file


    【解决方案1】:

    对于配置文件,我建议使用 JSONYAML(比 JSON 更简洁)。这样,配置文件对于较少的 pythonate 变得更具可读性;)也更容易引发足够的错误,例如如果配置不完整。

    要保存 python 对象,您始终可以使用pickle

    【讨论】:

      【解决方案2】:

      通常使用 repr() 将创建一个可以重新评估的字符串。但是 pprint 的输出要好一些。

      from pprint import pprint
      
      outf.write("array1 = "); pprint(array1, outf)
      

      【讨论】:

      • 我将附加以下内容:要将字符串作为有效的 python 读回,请使用 eval()。
      • 为了安全起见,请避免使用eval(),而对于 Python 2.6+ 使用ast.literal_eval,或者使用2.4/2.5-compatible backport
      【解决方案3】:

      repr(array1)(并将其写入文件)将是一个非常简单的解决方案,但它应该在这里工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-11-04
        • 2021-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多