<p>我建议使用<code>os.makedirs</code>(它的作用与<code>mkdir -p</code>相同)而不是{<cd3>}或{<cd4>}:</p>
<pre><code>import sys
import os
DATEFILE = open(os.path.join(r'/Astronomy', 'Sorted', '2-Scratch', 'MAPninox-DATE.txt'), "r")
TIMEFILE = open(os.path.join(r'/Astronomy', 'Sorted', '2-Scratch', 'MAPninox-TIME.txt'), "r")
for DATE in DATEFILE:
print DATE,
for TIME in TIMEFILE:
os.makedirs(os.path.join(r'/Astronomy', DATE, TIME))
astrDir = os.path.join(r'/Astronomy', '20111126', TIME)
try
os.makedirs(astrDir)
except os.error:
print "Dir %s already exists, moving on..." % astrDir
# etc...
</code></pre>
<p>然后将<a href="http://docs.python.org/library/shutil.html" rel="nofollow">^{<cd5>}</a>用于任何<code>cp</code>/<code>mv</code>/etc操作。在</p>
<hr/>
<p>从<a href="http://docs.python.org/library/os.html" rel="nofollow">^{<cd8>} Docs</a>:</p>
<blockquote>
<p><strong><code>os.makedirs(path[, mode])</code></strong><br/>
Recursive directory creation function. Like <code>mkdir()</code>, but makes all
intermediate-level directories needed to contain the leaf directory.
Raises an error exception if the leaf directory already exists or
cannot be created. The default mode is 0777 (octal). On some systems,
mode is ignored. Where it is used, the current umask value is first
masked out.</p>
</blockquote>