擅长:python、mysql、java
<p>如果您使用的是python2而没有使用Python,那么这只是一个语法错误</p>
<pre><code>from __future__ import print_function
</code></pre>
<p>因为不能将<code>print</code>语句用作条件表达式的一部分。你知道吗</p>
<pre><code>Python 2.7.10 (default, Oct 6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> "foo" if False else print("error")
File "<stdin>", line 1
"foo" if False else print("error")
^
SyntaxError: invalid syntax
>>> from __future__ import print_function
>>> "foo" if False else print("error")
error
</code></pre>
<p>但是,您的代码容易受到竞争条件的影响。如果其他进程在您检查目录之后但在您尝试创建它之前创建了该目录,则带有的代码将引发一个错误。只需尝试创建目录,并捕获由此产生的任何异常。你知道吗</p>
<pre><code># Python 2
import errno
try:
os.makedirs(nombre)
except OSError as exc:
if exc.errno != errno.EEXISTS:
raise
print ("Directorio existente")
# Python 3
try:
os.makedirs(nombre)
except FileExistsError:
print ("Directorio existente")
</code></pre>