zoukankan      html  css  js  c++  java
  • python shutil

    #! /usr/bin/env python
    # -*- coding:utf-8 -*-
    # shutil 高级的文件、文件夹、压缩包处理模块
    import shutil

    #1.copyfileobj(源文件,目标文件) 将文件内容复制到另一个文件

    #shutil.copyfileobj(open('config.log','r'),open('pic.json','a'))

    #2.copyfile(源文件,目标文件) 复制文件,如果没有目标文件则创建一份,有,清除后复制内容

    #shutil.copyfile('zp.xml','write1Xml.xml')

    #3.copy(源文件,目标文件) 复制文件和状态信息
    shutil.copy('zp.xml','w1.xml')
    #4.copymode(源文件,目标文件) 仅复制权限。内容、组、用户均不变 (前提是dst文件存在,不然报错)
    #5.copytree(源文件夹, 目标文件夹, 忽略的文件类型) 递归的去拷贝文件夹(前提是目标文件夹不存在)

    #shutil.copytree('D:/Python/mypy/basic','D:/Python/mypy/mm',ignore=shutil.ignore_patterns('*.py'))
    # 6.rmtree(path[, ignore_errors[, onerror]]) 递归的去删除文件

    #7.move(源文件夹, 目标文件夹) 递归的去移动文件,它类似mv命令,其实就是重命名

    #----------------------------------------------------------------------------------------
    #操作压缩包
    # make_archive(base_name, format,...)
    # base_name: 压缩包的文件名,也可以是压缩包的路径。
    # 只是文件名时,则保存至当前目录,否则保存至指定路径
    # format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
    # root_dir: 要压缩的文件夹路径(默认当前目录)
    # owner: 用户,默认当前用户
    # group: 组,默认当前组
    # logger: 用于记录日志,通常是logging.Logger对象

    #shutil.make_archive('basic','zip',root_dir='D:/Python/mypy')

    # 两种操作压缩包的方式:zipfile和tarfile
    import zipfile

    ##将某个文件压缩进已经存在的压缩包里
    # zi = zipfile.ZipFile('D:/Python/mypy/hh.zip','w')
    # zi.write('D:/Python/mypy/Hello World.py')
    # zi.write('D:/Python/mypy/basic/blog.xml')
    # zi.close()

    ##解压,会解压到当前文件目录下
    # zz = zipfile.ZipFile('D:/Python/mypy/hh.zip','r')
    # zz.extractall()
    # zz.close()

    import tarfile
    # 压缩
    # tar = tarfile.open('D:/Python/mypy/hh.zip','w')
    # tar.add('D:/Python/mypy/basic/zp.xml',arcname='zb.xml')#arcname是在压缩包中名称
    # tar.close()

    ##解压
    tt = tarfile.open('D:/Python/mypy/hh.zip','r')
    tt.extractall('D:/www')#解压到的位置
    tt.close()
  • 相关阅读:
    济南学习 Day5 T3 晚
    Codevs 1043 ==洛谷 P1004 方格取数
    济南学习 Day 5 T2 晚
    济南学习 Day 5 T1 晚
    济南学习 Day 5 T3 am
    济南学习 Day 5 T2 am
    LeetCode Weekly Contest 8
    poj-1410 Intersection
    leetcode-Warm Up Contest-Aug.21
    poj-1384 Piggy-Bank
  • 原文地址:https://www.cnblogs.com/wuxinyan/p/8886320.html
Copyright © 2011-2022 走看看