人类可读的、类似于 table 的结构(Python 2.7.1;仅限标准库)

Human-readable, table-like structure (Python 2.7.1; standard library only)

我有一个名为 IBM Maximo Asset Management 7.6.1.2 的 COTS 系统,我可以在其中编写 Python 脚本。

该系统有一些不幸的限制:


我想在 Python library 脚本中存储一些类似 table 的数据。

Table name: DIVISION_SETTINGS

DIVISION    FLOW_CONTROL_REQ    ACTUAL_COSTS_REQ    SETTING3    SETTING4   SETTING5
FLEET       1                   1                   0           1          A
ROADS       0                   1                   0           2          B
PARKS       0                   1                   1           3          C
DIV4        1                   0                   0           4          D
DIV5        0                   0                   0           5          E
DIV6        0                   1                   1           6          F
DIV7        0                   1                   0           7          G

我会编写一个 Python 函数来访问脚本中的数据,类似于从数据库访问数据 table。


我浏览了 Python 文档并找到了列表、集合等机制,但在我未经训练的眼中,人们似乎很难阅读这些机制中的数据。

理想情况下,我会使用 Python 机制,让我以 人类可读的格式 编写 data/text,这样它就可以IT 人员可以轻松进入脚本并在需要时更新值。如果数据易于阅读,并且采用 columnar 格式,那么我认为这将有助于我们在进行更改时避免错误。


问题:

有没有办法在 Python 2.7.1 中存储人类可读的数据(无需添加任何额外的库、使用文件或使用数据库 tables)?

(我知道这是一项艰巨的任务,但我认为可能值得一问,以防碰巧有 suitable 选项。)

似乎是一组很奇怪的要求...

您可以使用多行字符串启动 .py 文件,脚本可以解析该字符串并将其转换为一些有用的结构。

python 模块中的第一个字符串是 __doc__,因此脚本可以执行如下操作:

"""
data    in  whatever    format  you     want

"""
############################################# 
lines = __doc__.replace('\t',' ').split('\n')
lines = filter(None, lines)
table = []
for line in lines:
    table.append(list(filter(None, line.split(' '))))

#at this point, table is a list of lists of word tokens (for each row)

这只是一个将文本转为数据结构的例子, 您必须决定哪种结构对您的数据最有意义。