os模块
def copy(self,src_path,target_path):
os.mkdir(target_path)
if os.path.isdir(src_path):
for file in os.listdir(src_path):
path=os.path.join(src_path,file)
if os.path.isdir(path):
path1=os.path.join(target_path,file)
os.mkdir(path1)
self.copy(path,path1)
else:
with open(path,"rb") as f1:
container=f1.read()
path2=os.path.join(target_path,file)
with open(path2,"wb") as f2:
f2.write(container)
pathlib模块
def copy(originPath,newPath):
originPath=Path(originPath).resolve()
newPath=Path(newPath).resolve()
if originPath.is_file():
(newPath/originPath.name).write_text(originPath.read_text(encoding="utf-8"),encoding="utf-8")
else:
if not newPath.exists():
Path.mkdir(newPath)
for dof in originPath.iterdir():
FILE_HELPER.copy(dof,newPath/dof.name if dof.is_dir() else newPath)
总的来说pathlib模块还是方便很多。