擅长:python、mysql、java
<p>我强烈建议不要复制那样的文件。正如您在当前情况中所看到的,不能保证在不同的机器上提供相同的程序。另一方面,您有Python,它具有您可能需要的所有跨平台文件复制实用程序。你知道吗</p>
<p>对于一般文件操作,<a href="https://docs.python.org/3/library/shutil.html" rel="nofollow noreferrer">^{<cd1>}</a>模块是您的朋友。特别是,<a href="https://docs.python.org/3/library/shutil.html#shutil.copytree" rel="nofollow noreferrer">^{<cd2>}</a>几乎完全按照您的要求执行。唯一的区别是目标可能不存在,您必须一次复制一个源文件夹。你知道吗</p>
<p>另一点是,通常不希望将可能包含或不包含尾随斜杠的路径与<code>+</code>连接起来。改用<a href="https://docs.python.org/3/library/os.path.html#os.path.join" rel="nofollow noreferrer">^{<cd4>}</a>。它不仅会处理这些差异,而且会确保它插入的路径分隔符适合您的操作系统。你知道吗</p>
<p>你总共有:</p>
<pre><code>from shutil import copytree
from os.path import join
for folder in ('Albedo', 'CIE Data', 'Gasses', 'Solar'):
copytree(join(WD, folder), join(ProcessDir[ProcessNumber], folder))
</code></pre>
<p>如果在此过程中出现问题,您可能需要使用<a href="https://docs.python.org/3/library/shutil.html#shutil.rmtree" rel="nofollow noreferrer">^{<cd5>}</a>对输出进行预清理。在调用<code>copytree</code>之前</p>
<pre><code>rmtree(join(ProcessDir[ProcessNumber], folder), ignore_errors=True)
</code></pre>