<p>将文件读入列表。你知道吗</p>
<pre><code>with open('FrOut.txt', 'r') as f:
data=f.readlines()
</code></pre>
<p>获取开始温度的行数(使用列表理解,因为它很快):</p>
<pre><code>idx = [n+1 for n, ln in enumerate(data) is ln.startswith('Temp(K)']
</code></pre>
<p>获取温度,再次列出一个列表。你知道吗</p>
<pre><code>temps = [float(data[n].split()[0]) for n in idx]
</code></pre>
<p>如果需要,您甚至可以将其合并为一个列表:</p>
<pre><code>temps = [float(data[n+1].split()[0]) for n, ln in enumerate(data) if ln.startswith('Temp(K)')]
</code></pre>
<p><a href="https://ipython.org/" rel="nofollow noreferrer">IPython</a>中的一个例子:</p>
<pre><code>In [1]: text = '''Title:Model
...:
...: Temp(K) Ionic str Rho Phi H2O Ice ...
...: 273.15 4 1.003 1.21 1000 0.00
...:
...: Species Ini Conc Final Conc Act ....
...: H 0.0 0.12032 0.59
...: NH4 3.0 3.00 0.43
...: Cl 1.0 1.00 0.47
...: ...
...:
...: Title:Model
...:
...: Temp(K) Ionic str Rho Phi H2O Ice ...
...: 273.15 4 1.003 1.21 1000 0.00
...:
...: Species Ini Conc Final Conc Act ....
...: H 0.0 0.12032 0.59
...: NH4 3.0 3.00 0.43
...: Cl 1.0 1.00 0.47
...: ...
...: '''
In [2]: data = text.splitlines()
In [3]: idx = [n+1 for n, ln in enumerate(data) if ln.startswith('Temp(K)')]
In [4]: idx
Out[4]: [3, 14]
In [5]: [float(data[n].split()[0]) for n in idx]
Out[5]: [273.15, 273.15]
In [6]: [float(data[n+1].split()[0]) for n, ln in enumerate(data) if ln.startswith('Temp(K)')]
Out[6]: [273.15, 273.15]
</code></pre>