擅长:python、mysql、java
<p>使用<code>next</code>函数可以做你想做的事情,但这不是解决这个问题的最简单、最容易理解的方法。我不建议在这里尝试使用<code>next</code>。你知道吗</p>
<p>您在文件中的行上有一个<code>for</code>循环,但是您确实希望一次读取两行,因为每个“项”数据都依赖于文件中的两行。我建议分三个部分来解决这个问题:</p>
<ol>
<li>首先,设计一种将数据表示为对象的方法(例如元组或<a href="https://docs.python.org/3/library/collections.html#collections.namedtuple" rel="nofollow noreferrer">namedtuple</a>)。你知道吗</li>
<li>编写一个<code>while</code>循环,一次读取文件的两行,从这两行中提取数据以创建一个对象,并在列表中收集这些对象。你知道吗</li>
<li>迭代对象列表,从每个对象打印出所需的数据。你知道吗</li>
</ol>
<p>第2部分的解决方案如下所示:</p>
<pre class="lang-py prettyprint-override"><code>results = []
with open('vpn.txt', 'r') as f:
line1, line2 = f.readline(), f.readline()
while line1 and line2:
_, _, _, id_number, _, _, ip_address = line1.split()
algorithm = line2.split()[-1]
obj = (id_number, ip_address, algorithm)
results.append(obj)
line1, line2 = f.readline(), f.readline()
</code></pre>