擅长:python、mysql、java
<p>如果您只想引发异常,请使用选项<code>iii</code>:</p>
<pre><code>def myFunction(filepath):
with open(filepath) as infile:
pass
</code></pre>
<p>要以特殊方式处理异常,请使用<code>try...except</code>块:</p>
<pre><code>def myFunction(filepath):
try:
with open(filepath) as infile:
pass
except IOError:
# special handling code here
</code></pre>
<p>在任何情况下,最好先检查文件的存在性(选项<code>i</code>或<code>ii</code>),因为在检查或断言发生和python尝试打开文件之间的时间段内,可能会删除或更改文件(例如使用符号链接),这可能导致错误或安全漏洞。</p>
<p>另外,从Python 2.6开始,打开文件时的最佳实践是使用<code>with open(...)</code>语法。这保证了文件将被关闭,即使在<code>with</code>块中发生异常。</p>
<p>在Python 2.5中,如果在脚本前面加上</p>
<pre><code>from __future__ import with_statement
</code></pre>