Python标准库之shutil模块
高级的文件、文件夹、压缩包处理模块。
文件复制
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模块的更多相关文章
- (转)python标准库中socket模块详解
python标准库中socket模块详解 socket模块简介 原文:http://www.lybbn.cn/data/datas.php?yw=71 网络上的两个程序通过一个双向的通信连接实现数据的 ...
- Python标准库之Sys模块使用详解
sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...
- Python标准库之subprocess模块
运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准库中的subprocess ...
- python标准库之shutil——可操作权限的文件操作库
转载自:https://www.jb51.net/article/145522.htm shutil模块提供了许多关于文件和文件集合的高级操作,特别提供了支持文件复制和删除的功能. 文件夹与文件操作 ...
- Python标准库之核心模块学习记录
内建函数和异常 包括__builtin__模块和exceptions模块 操作系统接口模块 包括提供文件和进程处理功能的os模块,提供平台独立的文件名处理(分拆目录名,文件名,后缀等)的os.path ...
- Python标准库之logging模块
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...
- Python标准库之os模块
1.删除和重命名文件 import os import string def replace(file, search_for, replace_with): # replace strings in ...
- python标准库之random模块
Python中的random模块用于生成随机数. 下面具体介绍random模块的功能: 1.random.random() #用于生成一个0到1的 随机浮点数:0<= n < 1.0 1 ...
- python - 标准库:subprocess模块
subprocess的目的就是启动一个新的进程并且与之通信. subprocess模块中只定义了一个类: Popen. subprocess.Popen(args, bufsize=0, execut ...
随机推荐
- (一)LoadRunner安装
1.下载LR,双击exe安装程序,选择LoadRunner完整安装程序,如下图: 2.点击下一步 3.选择我同意,下一步 4.输入姓名和组织(可以不输入),下一步 5.点击浏览选择要安装的目录,建议使 ...
- 回炉重造之重读Windows核心编程-006-线程
线程也是有两部分组成的: 线程的内核对象,操作系统用来管理线程和统计线程信息的地方. 线程堆栈,用于维护现场在执行代码的时候用到的所有函数参数和局部变量. 进程是线程的容器,如果进程中有一个以上的线程 ...
- 应用场景不同,是无代码和低代码的最大区别 ZT
随着媒体对低代码.无代码等先进技术的持续关注,我们发现大多数人都听说过低代码开发和无代码开发这两个概念,但是对两者之间的区别其实并不清楚.事实上,低代码开发和无代码开发之间存在着很多非常显著的差异,如 ...
- 拓展lucas结论及模板
lucas及其拓展 模板题 洛谷 P4720 本文侧向结论和代码实现, 推导请转至lucas定理及其拓展的推导 https://blog.csdn.net/yuyilahanbao/article/d ...
- centos7系统中忘记了root管理员账号密码的解决方式
随着计算机的使用越来越普遍,现在的用户都会有多个密码,不是这软件的密码就是那个的,QQ.邮箱.游戏,还有系统的登录密码!每一个密码都不一样!所以越来越多的密码需要去记住!也因为这样,只要其中一个长时间 ...
- P2853 [USACO06DEC]牛的野餐Cow Picnic
------------------------- 长时间不写代码了,从学校中抽身出来真的不容易啊 ------------------------ 链接:Miku ----------------- ...
- Selenium实战(四)——unittest单元测试3(测试用例的执行顺序)
一.测试用例的执行顺序 层级:多个测试目录 > 多个测试文件 > 多个测试类 > 多个测试方法(测试用例).在这里以一个测试执行顺序的脚本为例test_order.py import ...
- mysql - 拼接多个字段
方法介绍 concat_ws(分隔符,需要拼接在一起的字段) 实例 SELECT day_catering.S_ID, day_catering.S_DAY_WEEKS_CAPTION, concat ...
- 同一服务器下发布两个不同网站(war包)的方法(这里采用的是二级域名的方法)
这里是在阿里云服务器的上部署 在本地测试好之后,打包,然后发到服务器上的tomcat的webapp目录上(这个可能会有个bug,先启动下服务器,然后关掉,再启动,那个war包对应的文件才会出来) 这里 ...
- docker镜像下载出现:received unexpected HTTP status: 500 Internal Server Error
1.镜像下载总是出现报错:received unexpected HTTP status: 500 Internal Server Error 2.尝试多种方法: ①阿里云docke加速器:注册之后, ...