擅长:python、mysql、java
<p>我在你的代码中看到几个错误。在</p>
<pre><code>os.popen('mkdir -p /Astronomy/' + DATE + '/' TIME) # this line works for DATE only
</code></pre>
<p>这是一个语法错误。我想你是想拥有<code>'/' + TIME</code>,而不是{<cd2>}。我不明白你说的“这条线只适用于约会”是什么意思?在</p>
^{pr2}$
<p>你想叫什么命令?我从其余代码中猜出您正在尝试执行<code>mkdir -p /Astronomy/<<DATE>></code>。但这不是你所编码的。传递给<code>subprocess.call</code>的列表中的每一项都是一个单独的参数,因此您编写的内容将显示为<code>mkdir -p /Astronomy <<DATE>></code>。这将尝试创建<strong>两个</strong>目录,一个是根目录<code>/Astronomy</code>,另一个是当前工作目录中名为<code>DATE</code>的目录。在</p>
<p>如果我对你想做的事情是正确的,那么正确的一行应该是:</p>
<pre><code>subprocess.call(['mkdir', '-p', '/Astronomy/' + DATE])
</code></pre>
<p>在我看来,chown的答案是使用<code>os.makedirs</code>(并使用<code>os.path.join</code>拼接路径,而不是字符串+)是一种更好的通用方法。但据我所知,这就是你当前的代码不能正常工作的原因。在</p>