python shutil相关操作
python shutil模块常用操作
高级的 文件、文件夹、压缩包 处理模块
1.将文件内容拷贝至另一个文件中
shutil.copyfileobj(src, dist, length=16*1024),默认长度为16 * 1024,默认返回None
shutil.copyfileobj(open('test3.py', 'r'), open('test3/test2.py','w'))
2.拷贝文件
shutil.copyfile(src, dist),dist目标文件无需存在, 返回复制后的文件名称,此处为"test4.py",不拷贝权限、状态信息,只拷贝文本
shutil.copyfile("test3.py", "test4.py")
3.仅拷贝权限,内容、组、用户不变
目标文件必须存在,不拷贝内容、状态
shutil.copymode("test3.py","test4.py")
4.仅拷贝状态信息及读写权限
状态信息包括:mode bits, atime, mtime, flags;目标文件必须存在
shutil.copystat("test3.py","test4.py")
5.拷贝文件和权限
包括文件内容和文件的读写权限
shutil.copy("test3.py", "test5.py")
6.拷贝文件和状态信息
包含文件内容及状态信息:mode bits, atime, mtime, flags、读写权限
shutil.copy2("test3.py", "test6.py")
7.递归拷贝文件(从一个文件夹中拷贝到另一个文件夹)
递归拷贝文件需要目标文件夹不存在,ignore为忽略的文件或文件夹
shutil.copytree("test3","test4",ignore=shutil.ignore_patterns("*.py"))
8.递归删除文件夹
会删除全部文件及文件夹
shutil.rmtree("test4")
9.递归移动文件(相当于重命名)
shutil.move("test3","test4")
10.创建压缩包并返回文件的路径
shutil.make_archive(base_name, format, root_dir), base_name:压缩包的名称,format一般为"zip", "tar", "bztar" or "gztar",
root_dir:需要压缩的路径
shutil.make_archive("test", "zip", "test4")
11.解压缩压缩包
shutil.unpack_archive(base_name, extract_dir, format);base_name:压缩包路径;extract_dir:解压缩的路径;
format一般为"zip", "tar", "bztar" or "gztar"
shutil.unpack_archive("test.zip", "test5", "zip")
12.shutil压缩及解压缩原理
调用 ZipFile 和 TarFile 两个模块来进行的
python shutil相关操作的更多相关文章
- python文件相关操作
Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...
- python subprocess相关操作
python subprocess常用操作 1.subprocess模块的常用函数 函数 描述 subprocess.run() Python 3.5中新增的函数.执行指定的命令,等待命令执行完成后返 ...
- python 集合相关操作
集合相关操作 集合是一个无序的,不重复的数据组合,它有着两个主要作用:去重以及关系测试. 去重指的是当把一个列表变成了集合,其中重复的内容就自动的被去掉了 关系测试指的是,测试两组数据之间的交集.差集 ...
- python集合相关操作
集合相关操作 集合是一个无序的,不重复的数据组合,它有着两个主要作用:去重以及关系测试. 去重指的是当把一个列表变成了集合,其中重复的内容就自动的被去掉了 关系测试指的是,测试两组数据之间的交集.差集 ...
- python PIL相关操作
项目中需要用python生成二维码,这里记录一下相关PIL相关操作. RGBA问题: 需要将图片A粘贴到图片B上,之前没有注意透明度问题,A的背景是透明的,粘贴到B上后,A的周围是黑的.后来才发现是P ...
- Python容器相关操作
(集合与字典除外)的容器相关操作 (1)容器的拼接 >>> 'abc' + 'def' 'abcdef' (2)容器的重复 >>> (1, 2) * 3 (1, 2 ...
- python selenium 相关操作
selenium : 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Fi ...
- python 系统相关操作
1.文件 open()代开文件或者创建文件 fout=open('oops.txt','wt') print('Oops, I created a file.',file=fout) fout.clo ...
- 初学Python——字符串相关操作
基本字符串操作 Pyhton中字符串的格式化输出在前面已经总结了,接下来介绍一些常用的字符串操作 先定义一个字符变量,以下的操作都以此为例: name=" my name is china ...
随机推荐
- scrapy框架第二天
1.scrapy数据分析 2.scrapy持久化存储 3.全站数据爬取 4.请求传参 + 五大核心组件 - 创建scrapy工程 scrapy startproject ProName - 切换 ...
- 有了 Promise 和 then,为什么还要使用 async?
有了 Promise 和 then,为什么还要使用 async? 本文写于 2020 年 5 月 13 日 最近代码写着写着,我突然意识到一个问题--我们既然已经有了 Promise 和 then,为 ...
- zabbix的web界面访问失败问题排查
现象:用curl访问显示拒绝链接,查看zabbix-server日志也无异常 1.检查防火墙,SElinux是否关闭 2.检查zabbix-server服务是否启动 3.检查80端口是否被占用,比方是 ...
- arthas学习图文记录
Arthas 是阿里开源的 Java 诊断工具.在线排查问题,无需重启:动态跟踪 Java 代码:实时监控 JVM 状态.Arthas 支持 JDK 6+,支持 Linux/Mac/Windows,采 ...
- nginx反向代理获取用户真实ip
nginx做反向代理时,默认的配置后端获取到的ip都是来自于nginx,如何转发用户的真实ip到后端程序呢?如是是java后端,用request.getRemoteAddr();获取到的是nginx的 ...
- C++primer第一章
第一章 : 开始 1.1 编写一个简单的C++程序 要点:每个函数有且只能拥有一个main函数,且main的默认返回是一个int类型. 函数定义:返回类型,函数名,形参列表,函数体 1.1.1编译 运 ...
- Docker安装Mycat和Mysql进行水平分库分表实战【图文教学】
一.前言 小编最近公司有个新的需求,数据量比较大,要涉及到分库分表.大概了解了一些主流的中间件,使用和网上资料比较多的是Mycat和sharding-jdbc,小编比较倾向于Mycat.原因很简单就是 ...
- 常用排序算法(一)-java实现
排序算法总结 1.十大经典算法及性能 2.具体排序算法 1.冒泡排序 循环过程中比较相邻两个数大小,通过交换正确排位,循环整个数组即可完成排序 图片演示 代码实现Java //冒泡排序 public ...
- 基于.NetCore开发博客项目 StarBlog - (12) Razor页面动态编译
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...
- BUUCTF-你竟然赶我走
你竟然赶我走 首先看到这个图片没啥感觉,直接用16进制打开了.拖到最下面果然有flag flag{stego_is_s0_bor1ing}