<p><code>total</code>未定义-您不需要它:</p>
<p>创建文件:</p>
<pre><code>with open("k.txt","w") as f:
f.write("""name john
25 45 23 67
name ahmed
65 21 35
""")
</code></pre>
<p>进程文件:</p>
<pre><code>with open("k.txt","r") as r:
for line in r:
if line and line[0].isdigit(): # no need to compare against True
print(sum(map(int,line.rstrip().split())))
else:
print(line.strip())
</code></pre>
<p>输出:</p>
<pre><code>name john
160
name ahmed
121
</code></pre>
<p><strong>对<code>sum(map(int,line.rstrip().split()))</code>的解释:</strong></p>
<p>这将整个<code>line</code>,<code>split()</code>的it在空白处放入一个<code>["25", "45", "23", "67"]</code>字符串列表。<code>map(func, iterable)</code>将函数应用于iterable的所有元素,并返回它的生成器,该生成器由<code>sum()</code>求和:</p>
<pre><code>"25 45 23 67" -> ["25", "45", "23", "67"] -> (25,45,23,67) -> 160
</code></pre>
<p>读数:</p>
<ul>
<li>您可以在<a href="https://docs.python.org/3/library/functions.html" rel="nofollow noreferrer">python built in functions</a>找到我使用的大部分函数
<ul>
<li><a href="https://docs.python.org/3/library/functions.html#map" rel="nofollow noreferrer">map()</a></li>
<li><a href="https://docs.python.org/3/library/functions.html#int" rel="nofollow noreferrer">int()</a></li>
<li><a href="https://docs.python.org/3/library/functions.html#sum" rel="nofollow noreferrer">sum()</a></li>
</ul></li>
<li>其余的是字符串函数:
<ul>
<li><a href="https://docs.python.org/3.7/library/stdtypes.html#str.split" rel="nofollow noreferrer">split()</a></li>
<li><a href="https://docs.python.org/3.7/library/stdtypes.html#str.rstrip" rel="nofollow noreferrer">rstrip()</a></li>
</ul></li>
</ul>