python 之 shutil 文件的复制、删除、移动文件以及目录,并支持文件的归档、压缩和解压
一、shutil
shutil 模块于文件和文件集合的高级操作,包括:复制、删除、移动文件以及目录,并支持文件的归档、压缩和解压等
二、使用例子
-
复制文件及权限
shutil.copy(src, dst)复制文件及权限;src 和 dst 文件路径。dst 文件名或目标目录shutil.copy('data/test.txt', 'utils') # 复制文件及权限 shutil.copy2('data/test.txt', 'utils') # 复制文件及状态信息# 拷贝源文件写入新文件 shutil.copyfileobj(open('data/test.txt', 'r'), open('data/test.txt', 'w')) shutil.copyfile('data/test.txt', 'data/test1.txt')# 拷贝文件夹、忽略拷贝哪些文件 shutil.copytree('data', 'utils', ignore=shutil.ignore_patterns("*.py", 'user*')) -
shutil.move(src, dst): 移动文件或重命名shutil.move('data/test.txt', 'utils') -
shutil.rmtree(path):删除文件夹和文件夹内所有的内容shutil.rmtree('data') -
shutil.copystat(src, dst, *, follow_symlinks=True)复制文件的权限位、最后访问时间、最后修改时间和标记
不会复制文件内容,只复制文件的状态信息import os # 修改源文件的访问时间和修改时间 os.utime('src.txt', (1629380400, 1629380400)) # 复制源文件的状态到目标文件 shutil.copystat('src.txt', 'dst.txt') # 打印两个文件的状态 print(os.stat('src.txt')) print(os.stat('dst.txt')) -
shutil.copymode(src, dst)复制文件的权限# 调用 copymode 方法将 'data/test.txt' 文件的权限复制到 'data/test1.txt' shutil.copymode('data/test.txt', 'data/test1.txt')目标文件已存在,shutil.copymode() 会改变它的权限来匹配源文件的权限
目标文件不存在,shutil.copymode() 会抛出一个 FileNotFoundError 异常
源文件的权限无法获取,那么 shutil.copymode() 会抛出一个 PermissionError 异常 -
shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]]): 压缩文件(如 zip 或 tar)shutil.make_archive('data', 'zip', 'data')zipfile、tarfile 压缩文件、与解压缩文件
-
shutil.which()于检查操作系统是否可以执行某个命令。本质上,它检查给定命令是否在环境变量中列出的任何目录中可用PATH
该函数返回调用给定命令时将运行的可执行文件的绝对路径path = shutil.which('python') print(path)/Users/python/PycharmProjects/security/bin/python
相关文章:
python 之 shutil 文件的复制、删除、移动文件以及目录,并支持文件的归档、压缩和解压
一、shutil shutil 模块于文件和文件集合的高级操作,包括:复制、删除、移动文件以及目录,并支持文件的归档、压缩和解压等 二、使用例子 复制文件及权限 shutil.copy(src, dst)复制文件及权限;src 和 dst 文件路径。dst 文件名或…...
jface
JFace 是建立在 SWT 之上的 UI 部件,它是 SWT 的扩展并能和SWT交互。 ApplicationWindow和Action org.eclipse.jface.window.ApplicationWindow; JFace为了简化窗口的设计特别设计了类,比如ApplicationWindow这一个类,它里面包含了六个默认…...
六级备考28天|CET-6|听力第一讲|基本做题步骤与方法|13:30~14:30
目录 1. 重点词汇 proofread / ˈpruːfriːd / v.校对,校阅 autonomous adj.独立的 obsession n. 喜好 ample …...
系统设计 - 设计一个速率限制器
实施速率限制器的位置主要取决于我们的应用程序、技术栈、技术团队等因素。通常有三个位置可供选择:客户端、服务器端或中间件。 客户端是不可靠的地方来执行速率限制,因为恶意行为者可以轻易伪造客户端请求。 比将速率限制器放在服务器端更好的方法是使…...
[技术分享]Android平台实时音视频录像模块设计之道
实现背景 录像有什么难的?无非就是数据过来,编码保存mp4而已,这可能是好多开发者在做录像模块的时候的思考输出。是的,确实不难,但是做好,或者和其他模块有非常好的逻辑配合,确实不容易。 好多…...
JDKMissionControl官方用户指南--人工翻译
1. JMC8新增功能 暂时用不到,暂略 2. JDK Mission Control是什么 JMC是一组高级工具,用于管理、监视、分析Java应用程序并排除其故障。JMC能够对代码性能、内存和延迟等领域进行高效而详细的数据分析,而不会引入通常与分析和监控工具相关的…...
MySql-高级(分库分表问题简析) 学习笔记
文章目录 1. 为什么要分库分表?2. 用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?3. 你们具体是如何对数据库如何进行垂直拆分或水平拆分的?4. 分库分表时,数据迁移方案5. 如何设计可以动态扩容缩容…...
【5.20】五、安全测试——安全测试工具
目录 5.4 常见的安全测试工具 1. Web漏洞扫描工具——AppScan 2. 端口扫描工具——Nmap 3. 抓包工具——Fiddler 4. Web渗透测试工具——Metasploit 小提示:Kali Linux 5.4 常见的安全测试工具 安全测试是一个非常复杂的过程,测试所使用到的工具也…...
【13900k】i9 核显升级驱动
这里写自定义目录标题 官方的助手不能用显卡控制中心提示最新的更新搜索显卡 intel uhd graphics 770 手动下载安装自定义音频为啥也要卸载?新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片…...
使用Python将绿色转换为红色、红色转换为蓝色的图像处理
使用Python将绿色转换为红色、红色转换为蓝色的图像处理 在图像处理中,我们经常需要对图像进行颜色转换和修改。本篇博客介绍了如何使用Python的Pillow库来读取一个文件夹中的所有图像,并将其中的绿色转换为红色,红色转换为蓝色。我们还展示…...
Web2与Web3开发的不同之处
Web2是引入交互功能的第二代互联网,也是我们今天所熟悉的。随着Web的不断发展,第三代互联网,也被称为Web3,正处于积极开发中。Web3引入了在区块链上运行的去中心化和无需许可的系统。但是Web2和Web3开发之间有什么区别呢ÿ…...
递增数组的判断【python实现】
有时候需要对某一组数组的数据进行判断是否 递增 的场景,比如我在开发一些体育动作场景下,某些肢体动作是需要持续朝着垂直方向向上变化,那么z轴的值是会累增的。同理,逆向考虑,递减就是它的对立面。 下面是查找总结到…...
在自定义数据上训练 YOLOv8 实例分割
图像分割是一个核心视觉问题,可以为大量用例提供解决方案。从医学成像到分析流量,它具有巨大的潜力。实例分割,即对象检测+分割,甚至更强大,因为它允许我们在单个管道中检测和分割对象。为此,Ultralytics YOLOv8 模型提供了一个简单的管道。在本文中,我们将对自定义数据…...
洛谷密钥被破解:加密安全面临新挑战
密钥管理是加密系统中非常重要的一环,它涉及到密钥的生成、存储、分发、管理和销毁等多个方面。在密码学中,密钥是保护数据隐私和安全性的核心因素之一,因此,确保密钥的安全和保密性显得尤为重要。在2016年举办的 CQOI 数论竞赛中…...
02 Android开机启动之BootLoader及kernel的启动
Android开机启动之BootLoader及kernel的启动 1、booloader的启动流程 第一阶段:硬件初始化,SVC模式,关闭中断,关闭看门狗,初始化栈,进入C代码 第二阶段:cpu/board/中断初始化;初始化内存以及flash,将kernel从flash中拷贝到内存中,执行bootm,启动内核 2、kernel的启…...
代码随想录算法训练营 Day 49 | 121.买卖股票的最佳时机,122.买卖股票的最佳时机 II
121.买卖股票的最佳时机 讲解链接:代码随想录-121.买卖股票的最佳时机 确定 dp 数组以及下标的含义: dp[i][0] 表示第 i 天持有股票所得最多现金dp[i][1] 表示第 i 天不持有股票所得最多现金 确定递推公式: 如果第 i 天持有股票即 dp[i][0]&…...
精炼计算机网络——数据链路层(一)
文章目录 前言3.1 数据链路和帧3.1.1 数据链路和帧3.1.2 三个基本问题 3.2 点对点协议PPP3.2.1 PPP协议的特点3.2.2 PPP协议3.2.3 PPP协议的工作状态 总结 前言 上篇文章,我们一同学完了物理层的全部内容,在本篇文章中,我们初步学习数据链路…...
猿创征文|Spring系列框架之面向切面编程AOP
⭐️前面的话⭐️ 本篇文章将介绍一种特别重要的思想,AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。 …...
IoT架构设计
当前有一个支持5000万用户并发访问的网站,每个用户都有一个IOT设备,用户可以查看设备状态,接受设备通知 1.架构设计 针对不同的业务量模型,可以采用不同的架构设计,如下: 低业务量模型 针对低业务量模型…...
EasyRecovery16电脑硬盘数据恢复软件功能讲解
硬盘是很常见的存储数据的设备,硬盘中很多重要的数据一旦丢失会很麻烦,不过现在有硬盘数据恢复软件可以自行在家恢复数据。今天的文章就带大家来看看硬盘恢复数据的软件EasyRecovery。 EasyRecovery 是一款专业的数据恢复软件,支持恢复不同存…...
终极指南:5分钟搞定淘宝淘金币全任务自动化脚本
终极指南:5分钟搞定淘宝淘金币全任务自动化脚本 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi 你是否厌倦…...
OpenClaw 源码解析(五):setup / onboard 与本地配置初始化
1. 本期目标 上一期我们分析了 OpenClaw 的 CLI 启动链路:用户输入 openclaw 命令后,程序会先经过 entry.ts、run-main、Commander Program 构建和命令注册流程,然后再进入具体命令逻辑。 这一期继续往下看,重点分析两个最基础的…...
思源宋体完全免费商用指南:7种字重中文开源字体终极教程
思源宋体完全免费商用指南:7种字重中文开源字体终极教程 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 想要为你的中文设计项目找到一款既专业又完全免费的高质量字体吗&a…...
UE4插件开发实战:手把手教你为自定义资源创建独立的3D预览窗口(基于SEditorViewport)
UE4插件开发实战:打造自定义资源的3D预览视口在虚幻引擎4的编辑器扩展开发中,为自定义资源提供直观的3D预览功能是提升工具链效率的关键环节。想象一下,当技术美术师调整一把自定义武器的参数时,能够实时看到模型变化,…...
量子计算中的随机基准测试与Grover算法实现
1. 量子计算中的随机基准测试原理与应用随机基准测试(Randomized Benchmarking, RB)是量子计算领域评估量子门操作保真度的黄金标准方法。与传统直接测量单个量子门误差不同,RB通过随机量子门序列的统计特性来提取平均门保真度,这种方法对状态制备和测量…...
雷电9模拟器上Frida失效?Lamda绕过方案详解
1. 为什么雷电9 Frida 的组合让人又爱又恨在安卓逆向、协议分析和安全测试一线干了十多年,我经手过不下两百个App的动态调试项目。其中大麦App这类票务平台,因为其频繁的签名校验、设备指纹绑定和JSBridge加固,几乎成了Frida初学者的“劝退第…...
VTube Studio插件开发终极教程:构建你的第一个互动工具
VTube Studio插件开发终极教程:构建你的第一个互动工具 【免费下载链接】VTubeStudio VTube Studio API Development Page 项目地址: https://gitcode.com/gh_mirrors/vt/VTubeStudio VTube Studio是一款功能强大的虚拟主播软件,提供了丰富的API接…...
保姆级教程:用UE4/UE5的WebUI插件,把Web页面嵌入数字孪生项目
虚幻引擎WebUI插件实战:数字孪生项目中无缝嵌入Web页面的完整指南在数字孪生项目的开发过程中,将实时数据可视化的Web页面嵌入到虚幻引擎场景中已成为提升用户体验的关键技术。本文将以UE4/UE5的WebUI插件为核心工具,手把手演示如何将Web前端…...
【运维必备Linux系统知识】
文章目录一、Linux系统整体结构1、核心特点2、常见发行版3、主要应用场景4、目录结构5、系统核心组成二、Linux基础必备命令1、目录与文件操作2、文件查看与编辑3、文件查找与搜索4、系统信息查看5、用户与权限管理6、进程管理7、网络常用命令8、打包压缩与解压9、系统开关机&a…...
BFloat16与SME2指令集在AI加速中的应用
1. BFloat16浮点格式解析BFloat16(Brain Floating Point 16)是专为机器学习设计的16位浮点格式,它在保持与32位单精度浮点(FP32)相同指数位宽(8位)的同时,将尾数位从23位缩减到7位。…...
