python复制文件夹及文件
前提:源文件夹存在,目标文件夹存在
代码组成:
import os
def copy_file(sourc, dest): # 实现复制文件的函数,通过字节读写复制文件
with open(sourc, 'rb') as read_stream:
read_buf = read_stream.read()
with open(dest, 'wb') as write_stream:
write_stream.write(read_buf)
def copy_dir(path, dest):
path_list = os.listdir(path) # 获取路径下的文件或路径
# print(path_list)
for index, item in enumerate(path_list): # 遍历整个路径下的文件和路径,判断是路径还是文件
path_temp = os.path.join(path, path_list[index]) # 得到相对路径或绝对路径
if os.path.isdir(path_temp): # 判断为路径(复制目录)
# print('{}:是一个路径'.format(path_temp))
dest_path = os.path.join(dest, path_list[index]) # 为新路径下创建同名路径
os.mkdir(dest_path) # 创建路径
copy_dir(path_temp, dest_path) # 递归遍历
else: # 判断为文件(复制文件)
# print('{}:是一个文件'.format(path_temp))
file_path = os.path.join(dest, path_list[index]) # 得到新路径之下的文件名
copy_file(path_temp, file_path) # 复制文件
path = r'D:\code\python\day_01\1' # 源目录
dest = r'D:\code\python\day_01\2' # 目标目录
copy_dir(path, dest) # 调用函数