Это только синтаксическая ошибка, если вы используете Python 2 и не использовали
from __future__ import print_function
потому что вы не можете использовать оператор print
как часть условного выражения.
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
Однако ваш код подвержен состоянию гонки. Если какой-то другой процесс создает каталог после того, как вы проверите его, но перед тем, как попытаться его создать, ваш код выдаст ошибку. Просто попробуйте создать каталог и перехватить любое исключение, которое возникает в результате.
# 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")