<p>这个用于遍历目录树的简化逻辑应该可以做到这一点</p>
<p>我已经省略了实际的转换函数,您的代码应该适用于它</p>
<pre class="lang-py prettyprint-override"><code>import os
def convert_image(source_path, dest_path):
print(f'Would convert {source_path} -> {dest_path}')
pwd = os.getcwd()
source_dir = os.path.join(pwd, 'img')
dest_dir = os.path.join(pwd, 'imgGray')
for dirpath, dirnames, filenames in os.walk(source_dir):
for filename in filenames:
if filename.endswith('.png'):
source_path = os.path.join(dirpath, filename)
dest_path = os.path.join(dest_dir, os.path.relpath(dirpath, source_dir), filename)
os.makedirs(os.path.dirname(dest_path), exist_ok=True)
convert_image(source_path, dest_path)
</code></pre>
<p>从<code>/something</code>运行此命令,它会打印出来</p>
<pre><code>Would convert /something/img/a/4.png -> /something/imgGray/a/4.png
Would convert /something/img/a/1.png -> /something/imgGray/a/1.png
Would convert /something/img/c/6.png -> /something/imgGray/c/6.png
Would convert /something/img/c/3.png -> /something/imgGray/c/3.png
Would convert /something/img/b/5.png -> /something/imgGray/b/5.png
Would convert /something/img/b/2.png -> /something/imgGray/b/2.png
</code></pre>