shutil模块
一句概念:用py直接对文件进行操作
拷贝
import shutil # shutil.copyfileobj(fsrc, fdst[, length]) # 将文件内容拷贝到另一个文件中,可以部分内容 f1 = open("time 模块.py",encoding="utf-8") f2 = open("copy",'w') shutil.copyfileobj(f1,f2) # shutil.copyfile(src, dst) # 拷贝文件 shutil.copyfile("copy",'copy2') # shutil.copymode(src, dst) # 仅拷贝权限。内容、组、用户均不变 # shutil.copystat(src, dst) # 拷贝状态的信息,包括:mode bits, atime, mtime, flags # shutil.copy(src, dst) # 拷贝文件和权限 # shutil.copy2(src, dst) # 拷贝文件和状态信息 # shutil.copytree(src, dst, symlinks=False, ignore=None) # 递归的去拷贝文件 shutil.copytree("shelve",'123')
删除
# shutil.rmtree(path[, ignore_errors[, onerror]]) # 递归的去删除文件 shutil.rmtree('123') # shutil.move(src, dst) # 递归的去移动文件 shutil.move('copy', '123')
压缩
import zipfile # 压缩 z = zipfile.ZipFile('laxi.zip', 'w') #压缩完的文件名 z.write('a.log') #被压缩的文件名 z.write('data.data') #被压缩的文件名 z.close() # 解压 z = zipfile.ZipFile('laxi.zip', 'r') z.extractall() z.close()
# shutil.make_archive(base_name, format,...) # 创建压缩包并返回文件路径,例如:zip、tar shutil.make_archive('wocao','zip',r"C:\Users\feng\PycharmProjects\py_s15\day5")
打包
#打包 import tarfile # 打包 tar = tarfile.open('your.tar','w') tar.add('/Users/wupeiqi/PycharmProjects/bbs2.zip', arcname='bbs2.zip') tar.add('/Users/wupeiqi/PycharmProjects/cmdb.zip', arcname='cmdb.zip') tar.close() # 解包 tar = tarfile.open('your.tar','r') tar.extractall() # 可设置解压地址 tar.close()