我有一個名為IBM Maximo Asset Management 7.6.1.2的 COTS 系統,我可以在其中撰寫 Python 腳本。
該系統有許多不幸的限制:
- Python 版本是 2.7.1(古代)。從技術上講,它是Jython,而不是真正的 Python。
- 我無法匯入 Python 庫;我只能訪問標準 Python 庫的一個子集。
- 我無法在服務器上存盤檔案(即 CSV 或文本檔案)。
- 在這種情況下,我無法在資料庫中創建自定義表。
我想在 Python庫腳本中存盤一些類似表格的資料。
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 函式,讓我可以訪問腳本中的資料,類似于訪問資料庫表中的資料。
我瀏覽了 Python 檔案并找到了串列、集合等機制,但在我未經訓練的眼睛看來,人們似乎很難閱讀這些機制中的資料。
理想情況下,我會使用 Python 機制,讓我以人類可讀的格式撰寫資料/文本,以便 IT 人員在需要時輕松進入腳本并更新值。如果資料易于閱讀,并且采用柱狀格式,那么我認為這將有助于我們在進行更改時避免錯誤。
題:
有沒有辦法在 Python 2.7.1 中存盤人類可讀的資料(不添加任何額外的庫、使用檔案或使用資料庫表)?
(我知道這是一項艱巨的任務,但我認為可能值得詢問,以防碰巧有合適的選擇。)
uj5u.com熱心網友回復:
似乎是一組非常奇怪的要求......
您可以使用多行字串啟動 .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)
這只是將文本轉換為資料結構的示例,您必須決定哪種結構對您的資料最有意義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/312270.html
標籤:Python python-2.7 python-2.x 杰通
下一篇:輸入數字時如何顯示有數字的串列
