我想作爲運行mkdir
命令:如何在Python中使用-p選項運行os.mkdir()?
mkdir -p directory_name
什麼方法做到這一點在Python?
os.mkdir(directory_name [, -p]) didn't work for me.
我想作爲運行mkdir
命令:如何在Python中使用-p選項運行os.mkdir()?
mkdir -p directory_name
什麼方法做到這一點在Python?
os.mkdir(directory_name [, -p]) didn't work for me.
你可以試試這個:
# 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沒有errno屬性。 – pynovice
你應該添加到代碼的頂部'import errno' –
這應該是os.mkdirs(結尾是重要的),但是SO不會讓我提交這麼小的編輯。 –
事情是這樣的:
if not os.path.exists(directory_name):
os.makedirs(directory_name)
UPD:因爲它是在一個評論說,你需要檢查的異常線程安全
try:
os.makedirs(directory_name)
except OSError as err:
if err.errno!=17:
raise
這是一個固有的競爭條件7,因此是一個非常糟糕的主意。 – Voo
這很容易出現競賽狀況。也就是說,如果其他進程/線程在'if'之後但是在'os.mkdirs'之前創建'directory_name',這段代碼將會拋出異常 –
這個怎麼樣 個 os.system('mkdir -p %s' % directory_name)
嘗試os.makedirs( '/多個/路徑/') – rajpy
重複:http://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python?rq=1的 –
可能的複製[Python中的mkdir -p功能](http://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python) –