高级的 文件、文件夹、压缩包 处理模块

shutil.copyfileobj(fsrc, fdst[, length])#将文件内容拷贝到另一个文件中,可以部分内容
shutil.copyfile(src, dst)                #拷贝文件
shutil.copymode(src, dst)                #仅拷贝权限。内容、组、用户均不变
shutil.copystat(src, dst)                #拷贝状态的信息,包括:mode bits, atime, mtime, flags
shutil.copy(src, dst)                    #拷贝文件和权限
shutil.copy2(src, dst)                    #拷贝文件和状态信息
shutil.ignore_patterns(*patterns)
shutil.copytree(src, dst, symlinks=False, ignore=None)    #递归的去拷贝文件
shutil.rmtree(path[, ignore_errors[, onerror]])            #递归的去删除文件
shutil.move(src, dst)                                    #递归的去移动文件
shutil.make_archive(base_name, format,...)                #创建压缩包并返回文件路径,例如:zip、tar
'''
base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www                        =>保存至当前路径
如:/Users/wupeiqi/www         =>保存至/Users/wupeiqi/
format:    压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir:    要压缩的文件夹路径(默认当前目录)
owner:    用户,默认当前用户
group:    组,默认当前组
logger:    用于记录日志,通常是logging.Logger对象
'''

代码实例:

import shutil

with open('yesterday.txt',encoding='UTF-8') as f1,\
    open('yesterday2.txt','w',encoding='UTF-8') as f2:
    shutil.copyfileobj(f1,f2) #将文件内容拷贝到另一个文件中,可以部分内容

shutil.copyfile('yesterday2.txt','yesterday3.txt') #拷贝文件
shutil.copy('yesterday2.txt','yesterday4.txt') #拷贝文件和权限
shutil.copy2('yesterday2.txt','yesterday5.txt') #拷贝文件和状态信息
shutil.copytree('test','new_test') #递归的去拷贝文件,即拷贝test目录下的所有子目录和文件到new_test目录中
shutil.rmtree('new_test') #递归的去删除文件
shutil.move('test','Day05') #递归的去移动文件

# 将 D:\python-study\s14\Day03 下的文件打包放置当前程序目录,文件名为shutil_archive_test.zip
shutil.make_archive('shutil_archive_test','zip','D:\python-study\s14\Day03')

# 将 D:\python-study\s14\Day03 下的文件打包放置 D:/test 目录,文件名为shutil_archive_test.zip
shutil.make_archive("D:/test/shutil_archive_test", 'zip', root_dir='D:\python-study\s14\Day03')
View Code

相关文章:

  • 2021-11-14
  • 2022-01-10
  • 2022-01-17
  • 2022-01-15
  • 2022-12-23
  • 2021-09-10
  • 2022-12-23
  • 2021-11-21
猜你喜欢
  • 2022-03-10
  • 2021-06-19
  • 2022-12-23
  • 2022-01-14
  • 2022-02-03
  • 2022-12-23
  • 2021-09-01
相关资源
相似解决方案