擅长:python、mysql、java
<p>既然你在问什么是Python在做什么,我认为你应该考虑<a href="https://stackoverflow.com/questions/12265451/ask-forgiveness-not-permission-explain">Ask Forgiveness, Not Permission</a>范式。也就是说,只要执行操作,如果不起作用,就捕获适当的异常。</p>
<p>例如</p>
<pre><code>In [1]: open('/usr/tmp.txt', 'w').write('hello')
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
<ipython-input-1-cc55d7c8e6f9> in <module>()
----> 1 open('/usr/tmp.txt', 'w').write('hello')
IOError: [Errno 13] Permission denied: '/usr/tmp.txt'
</code></pre>
<p>如果没有执行操作的权限,则将抛出<code>IOError</code>。那就抓住它。</p>
<pre><code>try:
open('/usr/tmp.txt', 'w').write('hello')
except IOError:
...
</code></pre>
<hr/>
<p>Alex Martelli曾经谈到过这一点,并描述了一些检查权限的固有谬误。在这些事情上有一个固有的种族。打开文件时,您可以始终拥有写入权限,但在以后尝试写入时不能。无论如何,你必须处理异常,所以你最好用它们来构建。</p>