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:UsersfengPycharmProjectspy_s15day5")

  

打包

#打包
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()

  

原文地址:https://www.cnblogs.com/fengdao/p/6080242.html