我是python編程新手。我正在處理一個文本文件,這是一個軟件的結果文件。基本上,每當我們使用該軟件時,它會將所有消息寫入結果文本文件(類似於日誌文件)。在.txt文件中查找最新的修改表
現在我的問題是,該文件有很多表像下面這樣:
it may have some million lines above
* ============================== INERTIA ==============================
* File: /home/hamanda/transfer/cradle_vs30_dkaplus01_fwd_dl140606_fem140704_v00.bif
* Solver: Nastran
* Date: 24/09/14
* Time: 10:29:50
* Text:
*
* Area +1.517220e+06
* Volume +5.852672e+06
*
* Structural mass +4.594348e-02
* MASS elements +0.000000e+00
* NSM on property entry +0.000000e+00
* NSM by parts (VMAGen and MPBalanc) +0.000000e+00
* NSM by NSMCreate +0.000000e+00
* Total mass +4.594348e-02
*
* Center of gravity
* in the global +1.538605e+02 +3.010898e+00 -2.524868e+02
* coordinate system
*
* Moments of inertia +8.346990e+03 +6.187810e-01 +1.653922e+03
* about the global +6.187810e-01 +5.476398e+03 +4.176218e+01
* coordinate system +1.653922e+03 +4.176218e+01 +7.746156e+03
*
* Steiner share +2.929294e+03 +4.016500e+03 +1.088039e+03
*
* Moments of inertia +5.417696e+03 +2.190247e+01 -1.308790e+02
* about the center +2.190247e+01 +1.459898e+03 +6.835397e+00
* of gravity -1.308790e+02 +6.835397e+00 +6.658117e+03
* ---------------------------------------------------------------------
some lines below and this table may repeat if user does any change to area and volume
values.----------
現在我的問題是:如何打印在控制檯上的最新表。我能夠打印表格的第一次出現,現在我無法獲得表格的最新發生。
我需要在控制檯上打印最新的表格,我該怎麼做? 這是我的代碼:
input = open(fileName,'r')
intable = False
for line in input:
if line.strip() == "* ============================== INERTIA ==============================":
intable = True
if line.strip() == "* ---------------------------------------------------------------------":
intable = False
break
if intable and line.strip().startswith("*"):
z1=(line.strip())
print(z1)
您有一個良好的開端,但不清楚你卡在什麼。解析出日期並將它們與迄今爲止最新的日期進行比較。如果這個更新,保留它。在文件的末尾,打印您保存的那個。你有哪些麻煩? – tripleee 2014-09-24 05:21:57
如果您可以更改整個過程,更好的方法可能是將每個表保存到單個文件。更妙的是,生成這些表格的東西會以機器可讀的格式寫入它們 - JSON非常流行,並且易於使用。 – tripleee 2014-09-24 05:23:41
我可以做到這一點,但有些時候它可能不會寫入日期和時間,因爲當軟件正在運行時,您在區域和體積上進行了一些更改,它只是寫入新的表格,但它可能不會寫入它創建的日期和時間新的桌子。我遇到了麻煩,因爲我不能區分他們@ tripleee – ayaan 2014-09-24 05:25:26