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

文件复制

copyfileobj

将文件类对象 fsrc 的内容拷贝到文件类对象 fdst。

shutil.copyfileobj(fsrc, fdst[, length])

  

代码演示:

import shutil

f1 = open("test.txt",'r')
f2 = open("white.txt",'w')
shutil.copyfileobj(f1,f2)

  

copyfile

将名为 src 的文件的内容(不包括元数据)拷贝到名为 dst 的文件并以尽可能高效的方式返回 dst。 src 和 dst 均为路径类对象或以字符串形式给出的路径名。

shutil.copyfile(src, dst, *, follow_symlinks=True)

  

代码演示:

shutil.copyfile("white.txt","test.txt")

  

copymode

仅拷贝权限。内容、组、用户不变。

从 src 拷贝权限位到 dst。 文件的内容、所有者和分组将不受影响。 src 和 dst 均为路径类对象或字符串形式的路径名。

shutil.copymode(src, dst, *, follow_symlinks=True)

  

copystat

从 src 拷贝权限位、最近访问时间、最近修改时间以及旗标到 dst。 在 Linux上,copystat() 还会在可能的情况下拷贝“扩展属性”。 文件的内容、所有者和分组将不受影响。 src 和 dst 均为路径类对象或字符串形式的路径名。没拷贝文件!!

shutil.copystat(src, dst, *, follow_symlinks=True)

  

copy

拷贝文件和权限。

将文件 src 拷贝到文件或目录 dst。 src 和 dst 应为字符串。 如果 dst 指定了一个目录,文件将使用 src 中的基准文件名拷贝到 dst。 返回新创建文件的路径。

shutil.copy(src, dst, *, follow_symlinks=True)

  

copy2

拷贝文件和文件状态。

shutil.copy2(src, dst, *, follow_symlinks=True)

  

目录复制与删除

copytree

递归地去拷贝目录。

将以 src 为根起点的整个目录树拷贝到名为 dst 的目录并返回目标目录。 dirs_exist_ok 指明是否要在 dst 或任何丢失的父目录已存在的情况下引发异常。

shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False)

  

rmtree

递归删除目录。

删除一个完整的目录树;path 必须指向一个目录(但不能是一个目录的符号链接)。

shutil.rmtree(path, ignore_errors=False, onerror=None)

  

move

递归地将一个文件或目录 (src) 移至另一位置 (dst) 并返回目标位置。如果目标是已存在的目录,则 src 会被移至该目录下。

shutil.move(src, dst, copy_function=copy2)

  

归档操作

make_archive

创建压缩包并返回文件路径,如zip、tar。

shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])

base_name 是要创建的文件名称,包括路径,去除任何特定格式的扩展名。 format 是归档格式:为 "zip" (如果 zlib 模块可用), "tar", "gztar" (如果 zlib 模块可用), "bztar" (如果 bz2 模块可用) 或 "xztar" (如果 lzma 模块可用) 中的一个。

root_dir 是一个目录,它将作为归档文件的根目录;例如,我们通常会在创建归档文件之前用 chdir 命令切换到 root_dir。

base_dir 是我们要执行归档的起始目录;也就是说 base_dir 将成为归档文件中所有文件和目录共有的路径前缀。

import shutil
shutil.make_archive("new.zip","zip",r"C:/Users/admin/PycharmProjects/shodan/module/")

  

Python标准库之shutil模块的更多相关文章

  1. (转)python标准库中socket模块详解

    python标准库中socket模块详解 socket模块简介 原文:http://www.lybbn.cn/data/datas.php?yw=71 网络上的两个程序通过一个双向的通信连接实现数据的 ...

  2. Python标准库之Sys模块使用详解

    sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...

  3. Python标准库之subprocess模块

    运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准库中的subprocess ...

  4. python标准库之shutil——可操作权限的文件操作库

    转载自:https://www.jb51.net/article/145522.htm shutil模块提供了许多关于文件和文件集合的高级操作,特别提供了支持文件复制和删除的功能. 文件夹与文件操作 ...

  5. Python标准库之核心模块学习记录

    内建函数和异常 包括__builtin__模块和exceptions模块 操作系统接口模块 包括提供文件和进程处理功能的os模块,提供平台独立的文件名处理(分拆目录名,文件名,后缀等)的os.path ...

  6. Python标准库之logging模块

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

  7. Python标准库之os模块

    1.删除和重命名文件 import os import string def replace(file, search_for, replace_with): # replace strings in ...

  8. python标准库之random模块

    Python中的random模块用于生成随机数. 下面具体介绍random模块的功能: 1.random.random() #用于生成一个0到1的 随机浮点数:0<= n < 1.0 1 ...

  9. python - 标准库:subprocess模块

    subprocess的目的就是启动一个新的进程并且与之通信. subprocess模块中只定义了一个类: Popen. subprocess.Popen(args, bufsize=0, execut ...

随机推荐

  1. [MySQL] mysql索引的长度计算和联合索引

    1.所有的索引字段,如果没有设置not null,则需要加一个字节.2.定长字段,int占4个字节.date占3个字节.char(n)占n个字符.3.变长字段,varchar(n),则有n个字符+两个 ...

  2. C#设计模式学习笔记:(6)适配器模式

    本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7640873.html,记录一下学习过程以备后续查用. 一.引言 从今天开始我们开始讲结构型设计模式,结构型设 ...

  3. opencv —— Sobel 一阶导数算子、Scharr 滤波器 一阶导数用于边缘检测

    sobel 算子的基本概念 sobel 算子是一个主要用于边缘检测的离散微分算子,它结合了高斯平滑和微分求导,用于计算图像灰度函数的近似梯度. 其基础来自于一个事实,即在边缘部分,像素值出现“跳跃”或 ...

  4. 消息总线:Spring Cloud Stream

    最近在学习Spring Cloud的知识,现将消息总线:Spring Cloud Stream 的相关知识笔记整理如下.[采用 oneNote格式排版]

  5. Notability

    Notability 上课记笔记.听网课→Notability 有录音功能, 在原来笔记中新添加空白行(选中之后下移) Notability常用的功能总结 1.纸张有颜色2.荧光笔会盖住文字3.套索工 ...

  6. 阿里云K8S下玩.NET CORE 3.1

    1. 创建阿里云K8S集群,本文以标准托管集群为例 1.1 创建一个 2台 centos 2core 4G的 k8s 集群 1.2 创建成功的模样 2. 创建 asp.net core webapi项 ...

  7. Android中创建一个BroadcastReceiver

    首先创建一个java类继承BroadcastReceiver类 package com.example.service; import android.content.BroadcastReceive ...

  8. 在生产环境中碰见的JSP木马-sunziren

    写在前面,本文仅做为技术交流的用途,请不要使用本文中的技术破坏他人的网站及系统,因为这是违法的!!!本人不负任何法律责任!!! 19年1月份,发现了一个JSP木马文件,当时觉得有点奇怪的是,这个文件没 ...

  9. R ggplot学习笔记1

    R 可视化学习笔记 记参数挺费劲的,还是用的时候查官方文档吧,现在记个大概就行吧~ 1.ggplot2分层次绘图 1.1 核心理念 把绘图与数据分离,把数据相关的绘图与数据无关的绘图分离,按图层作图. ...

  10. Cloudera Manager和CDH版本的对应关系

    来源:https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#c ...