Я новичок в программировании на питоне. Я работаю над текстовым файлом, который был результатом файла программного обеспечения. В основном, когда мы работаем над этим программным обеспечением, пишем все сообщения в текстовый файл результата (аналогично файлу журнала).поиск последней измененной таблицы в .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
Если вы можете изменить общий процесс, лучшим вариантом может быть сохранение каждой таблицы в отдельный файл. Еще лучше, что то, что генерирует эти таблицы, записывает их в некотором машиночитаемом формате - JSON популярен и прост в работе. – tripleee
Я могу это сделать, но иногда он не может писать дату и время, потому что, когда программное обеспечение работает вживую, и вы делаете некоторые изменения в области и томе, он просто пишет свежую таблицу, но может не писать дату и время, которые она только создает новую таблицу. у меня возникают проблемы с этим, потому что я не могу их разметить. @ tripleee – ayaan