python入门:常用模块—shutil 模块

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

shutil.copyfileobj(fsrc, fdst[, length])
将文件内容拷贝到另一个文件中

1

2

mport shutil

shutil.copyfileobj(open('old'), open('new''w'))

  

shutil.copyfile(src, dst)
拷贝文件

1

shutil.copyfile('f1.log''f2.log')     # 拷贝文件,目标文件无需存在

  

shutil.copymode(src, dst)
仅拷贝权限。内容、组、用户均不变

1

shutil.copymode('f1.log''f2.log')    # 目标文件必须存在

  

shutil.copystat(src, dst)
仅拷贝状态的信息,包括:mode bits, atime, mtime, flags

1

shutil.copystat('f1.log''f2.log')      # 目标文件必须存在

  

shutil.copy(src, dst)
拷贝文件和权限

1

shutil.copy('f1.log''f2.log')

  

shutil.copy2(src, dst)
拷贝文件和状态信息

1

shutil.copy2('f1.log''f2.log')

  

shutil.ignore_patterns(*patterns)
shutil.copytree(src, dst, symlinks=False, ignore=None)
递归的去拷贝文件夹

1

shutil.copytree('folder1''folder2', ignore=shutil.ignore_patterns('*.pyc''tmp*')) #目标目录不能存在,注意对folder2目录父级目录要有可写权限,ignore的意思是排除

  

shutil.rmtree(path[, ignore_errors[, onerror]])
递归的去删除文件

1

shutil.rmtree('folder1')    # 递归的去删除文件目录

  

shutil.move(src, dst)
递归的去移动文件,它类似mv命令,其实就是重命名。

1

shutil.move('folder1''folder2')       # 移动文件夹,类似mv

  

shutil.make_archive(base_name, format,...)
创建压缩包并返回文件路径,例如:zip、tar
 

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,

如 data_bak =>保存至当前路径
如:/tmp/data_bak =>保存至/tmp/

    • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
    • root_dir: 要压缩的文件夹路径(默认当前目录)
    • owner: 用户,默认当前用户
    • group: 组,默认当前组
    • logger: 用于记录日志,通常是logging.Logger对象

1

ret = shutil.make_archive('my_proj_bak''gztar', root_dir='my_proj')

  

shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的,详细:
zipfile压缩&解压缩

1

2

3

4

5

import zipfile

= zipfile.ZipFile('log.zip''w')

z.write('f1.log')

z.write('f2.log')

z.close()

  

1

2

3

= zipfile.ZipFile('log.zip''r')

z.extractall(path='.')

z.close()

  

tarfile压缩&解压缩

1

2

3

4

import tarfile

= tarfile.open('log.tar''w')

t.add('f1.log', arcname='f1.bak')

t.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/686543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时序预测 | Matlab实现BO-LSSVM贝叶斯算法优化最小二乘支持向量机时间序列预测

时序预测 | Matlab实现BO-LSSVM贝叶斯算法优化最小二乘支持向量机时间序列预测 目录 时序预测 | Matlab实现BO-LSSVM贝叶斯算法优化最小二乘支持向量机时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现BO-LSSVM贝叶斯算法优化最小二乘支持向量机时间…

函数、极限、连续——刷题(5

目录 1.题目:2.解题思路和步骤:3.总结:小结: 1.题目: 2.解题思路和步骤: 首先可能想到的是答案为0,但是不可以把 直接化简为n 这里要用到分子分母的平方差,sin^2的周期为π&#x…

计算机网络——14CDN

CDN 视频流化服务和CDN:上下文 视频流量:占据着互连网大部分的带宽 Netflix,YouTube:占据37%,16%的下行流量 挑战:规模性-如何服务~1B用户? 单个超级服务器无法提供服务(为什么&am…

函数、极限、连续——刷题(4

目录 1.题目:2.解题思路和步骤:3.总结:小结: 1.题目: 2.解题思路和步骤: 记住这个公式即可: 所以就很容易求解了: 3.总结: 记住这个公式即可: 小结&am…

祝所有的CSDN社区成员们新年快乐

文章目录 尊敬的CSDN社区成员们, 在新年的钟声即将敲响之际,我携带着满心祝福与期许,以字为舟,穿越虚拟与现实的界限,来到您的身边,向每一位热爱编程、投身技术研究、在CSDN平台上挥洒智慧和汗水的朋友们&a…

如何使用iptables或者firewalld配置Linux系统的防火墙策略

在网络安全中,防火墙是一种关键的安全设备,用于保护计算机网络免受恶意攻击和未经授权的访问。在Linux系统中,我们可以使用iptables或者firewalld来配置防火墙策略。本文将介绍如何使用这两种工具来配置Linux系统的防火墙策略,包括…

Spring Cloud Hystrix:服务容错与熔断

1. 理解服务容错与熔断 1.1 服务容错的概念和重要性 在分布式系统中,由于各种原因(例如网络延迟、服务故障等),服务之间的通信可能会出现故障或者延迟。为了提高系统的可用性和稳定性,需要实现服务容错机制&#xff…

数据结构:4_二叉树

二叉树 一.树概念及结构 1. 树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个**特殊的…

17.3.1.6 自定义处理

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 模拟某款图像处理软件的处理,它只留下红色、绿色或者蓝色这样的单一颜色。 首先按照颜色划分了6个色系,分别…

基于Arduino UNO设计一个温控制系统

目录 概述 1 硬件结构 1.1 整体硬件介绍 1.2 硬件连接结构 2 软件设计 2.1 软件功能介绍 2.2 关于Arduino的一些知识点 2.2.1 定时器 2.2.2 PWM 2.3 代码实现 2.3.1 编译工具 2.3.2 详细代码 3 测试 3.1 温度数据监控 3.2 温控测试 概述 本文介绍如何使用Ardui…

Rust 语言学习杂谈 (end) (各种工作中遇到的疑难杂症)

1.在运行 “cargo build --release” 的时候,到底发生了什么? 源 (GPT4.0) : 当我们运行 cargo build --release 命令时,实际上在进行一系列复杂的步骤来编译和构建 Rust 项目的发布版本。这个过程大致可以分解为以下几个步骤:…

MCU电源控制(PWR)与低功耗

目录 一、STM32 的内核和外设电源系统管理: 二、MCU电源监控: 三、三种低功耗模式: 1、睡眠模式: 2、停止模式: 3、待机模式: 一、STM32 的内核和外设电源系统管理: ① 电池备份区域&#…

关于预训练模型的一点感悟

最近,Yann LeCun 在 WGS 上说: 目前的LLM不可能走到AGI,原因很简单,现在训练这些LLM所使用的数据量为10万亿个令牌,也就是130亿个词,如果你计算人类阅读这些数据需要多长时间,一个人每天阅读8小…

String讲解

文章目录 String类的重要性常用的方法常用的构造方法String类的比较字符串的查找转化数字转化为字符串字符串转数字 字符串替换字符串的不可变性 字符串拆分字符串截取字符串修改 StringBuilder和StringBuffer String类的重要性 在c/c的学习中我们接触到了字符串,但…

MFC提示 未在此计算机上注册ActiveX控件“{648A5600-2C6E-101B-82B6-000000000014}“完美解决

💂 个人主页:pp不会算法^ v ^ 🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 运行一个mfc老项目的时候出现了这个问题 问题原因: 少了一个文件 …

【开源图床】使用Typora+PicGo+Github+CDN搭建个人博客图床

准备工作: 首先电脑得提前完成安装如下: 1. nodejs环境(node ,npm):【安装指南】nodejs下载、安装与配置详细教程 2. Picgo:【安装指南】图床神器之Picgo下载、安装与配置详细教程 3. Typora:【安装指南】markdown神器之Typora下载、安装与无限使用详细教…

【StarryCoding P9】【模板】可撤销并查集(并查集+启发式合并+栈)

描述 给定 n n n个结点, q q q次询问,每次询问分为三类: 1 x y :可以选择将 x , y x, y x,y两个点连通,如果已经连通则不操作。2 :撤销上一次的操作(若全部撤销完了则不操作)。3 x…

Flex布局简介及微信小程序视图层View详解

目录 一、Flex布局简介 什么是flex布局? flex属性 基本语法和常用属性 Flex 布局技巧 二、视图层View View简介 微信小程序View视图层 WXML 数据绑定 列表渲染 条件渲染 模板 WXSS 样式导入 内联样式 选择器 全局样式与局部样式 WXS 示例 注意事项…

with ThreadPoolExecutor() as executor的使用举例

ThreadPoolExecutor是Python的concurrent.futures模块中的一个类,用于创建一个线程池执行器,可以并发地执行多个任务。 下面是一个使用ThreadPoolExecutor的示例: python from concurrent.futures import ThreadPoolExecutor # 定义一个需…

软件测试概论

第一章、认识软件 一、概述 软件又叫做软体,英文是software 不同的设备上叫法不一样 普通的