擅长:python、mysql、java
<p>它有助于发布您的实际shell会话,以便我们可以可视化正在发生的事情。如果只是将其作为python脚本运行,我们将永远不会看到第一个“我确实知道!”,因为它将被丢弃,因为它没有分配给变量</p>
<p>在第一种情况下,读取并丢弃文件的前10个字符。事实证明,如果函数调用不是<code>None</code>,pythonshell和大多数IDE将显示函数调用的结果,这就是您在屏幕上看到的结果</p>
<pre><code>>>> with open('words.py') as readings:
... readings.read(10)
...
'I do know!'
>>> print(readings)
<_io.TextIOWrapper name='words.py' mode='r' encoding='UTF-8'>
</code></pre>
<p>由于您没有分配<code>readings.read(10)</code>的结果,因此它将被丢弃……除非shell首先向您显示它</p>
<p>在第二种情况下,保留返回的字符串,以后可以使用它</p>
<pre><code>>>> with open('words.py') as readings:
... tensymbols = readings.read(10)
...
>>> print(tensymbols)
I do know!
>>> print(readings)
<_io.TextIOWrapper name='words.py' mode='r' encoding='UTF-8'>
>>>
</code></pre>
<p>请注意,如果您第一次打印<code>readings</code>,它就像第一次一样是一个io包装器</p>