我对使用 python 很陌生,并且正在尝试为某些文件创建一个新的文件夹结构。我正在使用 os、shutil 和 copytree 来执行以下操作:
原始文件夹结构:
顶部文件夹/
batch1/
1.tif
1.xml
2.tif
2.xml
hello.tif
hello.xml
batch2/
purple.tif
purple.xml
red.tif
red.xml
结果文件夹结构:
顶部文件夹/
batch1/
1/
1.tif
1.xml
2/
2.tif
2.xml
hello/
hello.tif
hello.xml
batch2/
purple/
purple.tif
purple.xml
red/
red.tif
red.xml
我的问题是:我如何使用 copytree 并让它只复制前两级文件夹,但随后 copytree 停止,然后我有自己的代码来转换批处理文件夹中的其余文件夹结构?
这是我的代码:
import os, shutil, errno
def copy(src, dest):
try:
shutil.copytree(src, dest)
except OSError as e:
if e.errno == errno.ENOTDIR:
#code here to transform folders
else:
break
else:
print('Directory not copied. Error: %s' % e)