擅长:python、mysql、java
<p>您需要首先创建目录。</p>
<p><code>mkdir -p</code>实现<a href="https://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python">from this answer</a>将按您的要求执行。<code>mkdir -p</code>将根据需要创建任何父目录,如果已经存在,则不执行任何操作。</p>
<p>在这里,我实现了一个<code>safe_open_w()</code>方法,在打开文件进行写入之前,该方法在路径的目录部分调用<code>mkdir_p</code>:</p>
<pre><code>import os, os.path
import errno
# Taken from https://stackoverflow.com/a/600612/119527
def mkdir_p(path):
try:
os.makedirs(path)
except OSError as exc: # Python >2.5
if exc.errno == errno.EEXIST and os.path.isdir(path):
pass
else: raise
def safe_open_w(path):
''' Open "path" for writing, creating any parent directories as needed.
'''
mkdir_p(os.path.dirname(path))
return open(path, 'w')
with safe_open_w('/Users/bill/output/output-text.txt') as f:
f.write(...)
</code></pre>