Chcę uruchomić polecenie mkdir
jak:Jak uruchomić osmkdir() z opcją -p w Pythonie?
mkdir -p directory_name
jaka jest metoda, aby to zrobić w Pythonie?
os.mkdir(directory_name [, -p]) didn't work for me.
Chcę uruchomić polecenie mkdir
jak:Jak uruchomić osmkdir() z opcją -p w Pythonie?
mkdir -p directory_name
jaka jest metoda, aby to zrobić w Pythonie?
os.mkdir(directory_name [, -p]) didn't work for me.
Można spróbować to:
# top of the file
import os
import errno
# the actual code
try:
os.makedirs(directory_name)
except OSError as exc:
if exc.errno == errno.EEXIST and os.path.isdir(directory_name):
pass
exc nie ma atrybutu errno. – pynovice
Powinieneś dodać do początku kodu 'import errno' –
To powinno być os.mkdirs (ważne jest to, że koniec jest ważny), ale SO nie pozwala mi przesłać tak małej edycji. –
coś takiego:
if not os.path.exists(directory_name):
os.makedirs(directory_name)
UPD: jak to powiedział w komentarzach trzeba sprawdzić wyjątku dla bezpieczeństwa wątku
try:
os.makedirs(directory_name)
except OSError as err:
if err.errno!=17:
raise
To nieodłączny wyścig, a zatem * bardzo * zły pomysł. – Voo
jest to podatne na warunki wyścigowe. Tj., Jeśli jakiś inny proces/wątek tworzy 'nazwa_katalogu' po' if' ale przed 'os.mkdirs', ten kod wyrzuci wyjątek –
co powiesz na to os.system('mkdir -p %s' % directory_name)
spróbować os.makedirs ('/ wielokrotne/ścieżki /') – rajpy
Duplikat: http://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python?rq=1 –
Możliwy duplikat [Funkcja mkdir -p w Pythonie] (http://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python) –