定义函数如下:
def copydirs(from_file, to_file):
if not os.path.exists(to_file): # 如不存在目标目录则创建
os.makedirs(to_file)
files = os.listdir(from_file) # 获取文件夹中文件和目录列表
for f in files:
if os.path.isdir(from_file + '/' + f): # 判断是否是文件夹
copydirs(from_file + '/' + f, to_file + '/' + f) # 递归调用本函数
else:
shutil.copy(from_file + '/' + f, to_file + '/' + f) # 拷贝文件
使用方法:
if __name__ == '__main__':
from_file = "C:/Users/Administrator/Desktop/test"
to_file = "C:/Users/Administrator/Desktop/test1"
copydirs(from_file, to_file)
递归拷贝后,目录下所有的分支与文件均拷贝到新文件夹中了。
在此情况下,可以执行对文件名、文件类型等进行判断,判断是否进行拷贝等情况。
如果想直接拷贝不做其它操作,可使用 shutil.copytree 函数。