• Python shutil模块,高级文件管理


    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()
  • 相关阅读:
    设计模式之抽象工厂模式
    MQ任意延时消息(三)基于服务端实现
    MQ任意延时消息(二)基于客户端实现
    MQ任意延时消息(一)实现原理概述
    sqlyog报错2058
    base标签的作用
    相对路径和绝对路径的解释
    自定义Tomcat部署目录
    常用正则表达式
    接口的结构定义
  • 原文地址:https://www.cnblogs.com/NoteBook3013/p/10294110.html
Copyright © 2020-2023  润新知