Überspringen Sie die Lesezeile, wenn die nächste Zeile eine bestimmte Zeichenfolge hat
Posted: 05 Feb 2025, 12:59
Ich habe eine große Datei mit vielen Zeitinformationen. Ein Auszug sieht aus wie < /p>
Ich muss unter anderem die Summe aller DF VJ- und VK und Dichteanpassungs -AO2MO berechnen. Meine Kernfunktionalität ist < /p>
Wobei Position davon abhängt, ob ich versuche, die CPU -Zeit oder die Wandzeit zu erhalten, file_name ist die Datei, in der der Text gespeichert ist, und Parameter ist die Funktion, für die ich Daten sammeln möchte. Br/> Die Frage lautet wie folgt - Dichteanpassungs AO2MO enthält die Zeit von DF VKJ und VK darüber (die Leitung von 5.41600 Sekunden). Ich möchte, dass DF VJ und VK die Zeilen ausschließen, in denen sofort eine Zeile enthält, die Dichteanpassung AO2mo .
Daher möchte ich, dass das Ergebnis zu Seien Sie df vj und vk als 41.82271. Wie kann ich das machen?
Code: Select all
CPU time for df vj and vk 329.45135 sec, wall time 10.42650 sec
CPU time for df vj and vk 331.06361 sec, wall time 10.48211 sec
CPU time for df vj and vk 330.34512 sec, wall time 10.45198 sec
CPU time for df vj and vk 330.43818 sec, wall time 10.46212 sec
CPU time for orbital rotation 1341.99499 sec, wall time 42.54674 sec
CPU time for update CAS DM 12.02945 sec, wall time 0.37361 sec
CPU time for micro iter 1 0.00003 sec, wall time 0.00003 sec
CPU time for density fitting ao2mo pass1 157.41450 sec, wall time 19.02017 sec
CPU time for density fitting papa pass2 11.19426 sec, wall time 0.61816 sec
CPU time for density fitting ppaa pass2 24.55801 sec, wall time 6.68668 sec
CPU time for df vj and vk 171.32896 sec, wall time 5.41600 sec
CPU time for density fitting ao2mo 366.81797 sec, wall time 33.65705 sec
CPU time for update eri 366.82145 sec, wall time 33.66198 sec
CPU time for integral transformation to CAS space 0.00001 sec, wall time 0.00000 sec
Code: Select all
total+=sum([float(line.split()[position]) for line in open(file_name).readlines() if parameter in line])
Daher möchte ich, dass das Ergebnis zu Seien Sie df vj und vk als 41.82271. Wie kann ich das machen?