1 import shutil 2 3 # shutil.copyfileobj(open('aa.py','r',encoding='utf-8'),open('as.py','w',encoding='utf-8'),length=10) # 拷贝文件,可以自己指定模式和编码方式,也可以指定长度 4 # shutil.copyfile(r'as.py', 'f2.lo') # 源文件必须存在 5 # shutil.copymode('f2.log','f2.lo') # 目标文件必须存在 拷贝权限不更改文件内容,组和用户。 6 # shutil.copystat('f2.log','f2.log') # 目标文件要存在 复制所有的状态信息,包括权限,组,用户,时间等 7 # shutil.copy('f2.log','f2.lo') # 复制文件的内容以及权限,先copyfile后copymode 8 # shutil.copy2('f2.log','f2.lo') # 复制文件的内容以及文件的所有状态信息。先copyfile后copystat 9 # shutil.copytree('f2.log','f2.lo') ##递归的复制文件内容及状态信息 目标目录不能存在,注意对folder2目录父级目录要有可写权限,ignore的意思是排除
1 # shutil.rmtree(r'aa') # 递归地删除文件夹(有内容也会删除) 2 # shutil.move('f2.log', r'D:学习aa') #递归的移动文件 3 # shutil.make_archive("base_name","zip",) 4 # #(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None) # 压缩打包 5 # base_name:压缩打包后的文件名或者路径名 6 # format:压缩或者打包格式 "zip", "tar", "bztar"or "gztar" 7 # root_dir:将哪个目录或者文件打包(也就是源文件)
1 # # 将 /data 下的文件打包放置当前程序目录 2 # import shutil 3 # ret = shutil.make_archive("data_bak", 'gztar', root_dir='/data') 4 # 5 # # 将 /data下的文件打包放置 /tmp/目录 6 # import shutil 7 # ret = shutil.make_archive("/tmp/data_bak", 'gztar', root_dir='/data') 8 # shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的 9 10 # zipfile压缩解压缩 11 # import zipfile 12 # # 压缩 13 # z = zipfile.ZipFile('laxi.zip', 'w') 14 # z.write('a.log') 15 # z.write('data.data') 16 # z.close() 17 # 18 # # 解压 19 # z = zipfile.ZipFile('laxi.zip', 'r') 20 # z.extractall(path='.') 21 # z.close() 22 23 24 # tarfile压缩解压缩 25 # import tarfile 26 # 27 # # 压缩 28 # t=tarfile.open('/tmp/egon.tar','w') 29 # t.add('/test1/a.py',arcname='a.bak') 30 # t.add('/test1/b.py',arcname='b.bak') 31 # t.close() 32 # 33 # # 解压 34 # t=tarfile.open('/tmp/egon.tar','r') 35 # t.extractall('/meet') 36 # t.close()