Python(18)--文件输入/输出 Ⅱ

开头

大家好!我是码银🥰
欢迎关注🥰:
CSDN:码银
公众号:码银学编程

前言

前一篇文章(python(17)–文件的输入/输出-CSDN博客)介绍了如何操作文本文件和二进制文件,以及对应文件的写入和读取。这篇文章继续学习文件的输入/输出操作😆。

正文

文件的删除

文件的删除可以使用os模块的remove()函数来删除文件,这样我们可以编写一个函数以此达到删除文件的作用,下面是一个示例代码:

import osdef delete_file(file_path):try:os.remove(file_path)print(f"文件 {file_path} 已被删除")except OSError as e:print(f"删除文件时出错: {e.strerror}")delete_file("file.txt")

在这个示例中,delete_file函数接受一个文件路径作为参数,然后尝试删除该文件。如果文件成功被删除,它会打印一条消息说文件已被删除。如果删除文件时发生错误,它会捕获OSError异常并打印出错误消息。

文件的复制

关于文件的复制,我们就要用另一个库来实现了,shutil是Python的一个高级文件操作模块,它与os模块形成互补关系。os模块主要提供了文件或文件夹的新建、删除、查看等方法,以及对文件以及目录的路径操作。而shutil模块则提供了移动、复制、压缩、解压等操作,恰好与os模块形成互补,两者共同使用,基本能完成所有文件的操作。

import shutildef copy_file(src, dst):try:shutil.copy(src, dst)print(f"文件 {src} 已成功拷贝到 {dst}")except Exception as e:print(f"拷贝文件时出错: {e}")copy_file("filename.txt", "D://pyprogect//file.txt")

copy_file()函数中,第一个位置是原始文件,第二个文件是目标文件位置。然后,使用shutil.copy函数将源文件拷贝到目标路径。如果文件成功被拷贝,它会打印一条消息说文件已被成功拷贝。如果拷贝文件时发生错误,它会捕获异常并打印出错误消息。

文件的重命名

如果存在文件“filename.txt”就将其重新命名为"666.txt",另外还有三个异常判断语句,提高程序的健壮性。

import os  if __name__ == "__main__":  try:  li = os.listdir(".")  # 判断当前目录  print(li)  if "filename.txt" in li:  os.rename("filename.txt", "666.txt")  except FileNotFoundError:  print("文件 'filename.txt' 不存在")  except PermissionError:  print("没有足够的权限执行此操作")  except Exception as e:  print(f"发生未知错误: {e}")

文件内容的查找

with open('filename.txt', 'r') as file:content = file.read()# 读取文件内容count = content.count("hello")# 统计字符串 "hello" 出现的次数print("字符串出现次数: {} 次".format(count))# 输出结果

次数截图
这里还有一版:
这段代码是用于从名为 “filename.txt” 的文件中查找字符串 “hello” 的出现次数。如果文件不存在或无法读取,它会打印相应的错误消息。如果发生其他错误,它也会捕获并打印错误消息。

import reif __name__ == "__main__":try:with open("filename.txt", "r") as f:count = 0for s in f:matches = re.findall("hello", s)if matches:count += len(matches)print(f"查找到 {count} 个 hello")except FileNotFoundError:print("文件不存在")except PermissionError:print("无法读取文件")except Exception as e:print(f"发生错误:{e}")

欢迎关注:
在这里插入图片描述

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

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

相关文章

WorkPlus:构建高效协作的企业即时通讯解决方案

在现代企业中,高效沟通是实现协作和改善工作效率的关键。而企业即时通讯工具成为了推进沟通的利器。作为一款高质量的企业即时通讯解决方案,WorkPlus以其卓越的性能和独特的功能,助力企业构建高效协作的新格局。 为什么选择WorkPlus作为企业即…

拉取docker私有仓库镜像报错http: server gave HTTP response to HTTPs client解决办法

docker私有仓库镜像拉取指令 sudo docker pull 10.246.152.91:5000/xxx_image 报错 Error response from daemon Get "https://10.246.152.91:5000/v2/": http: server gave HTTP response to HTTPs client 解决办法 创建文件/etc/docker/daemon.json&#xff0c…

gin中间件篇

1. 全局中间件 所有请求都经过此中间件 package mainimport ("fmt""time""github.com/gin-gonic/gin" )// 定义中间 func MiddleWare() gin.HandlerFunc {return func(c *gin.Context) {t : time.Now()fmt.Println("中间件开始执行了&quo…

数据结构【DS】Ch8 排序

文章目录 插入排序选择排序归并&基数外部排序 插入排序 交换排序 选择排序 归并&基数 外部排序

Macos数据库管理软件:Navicat Premium for Mac 16.3.5中文版

Navicat Premium 16 for Mac是一款强大的数据库管理和开发工具,支持多种数据库系统,如MySQL、Oracle、SQL Server等。它提供了直观的用户界面和丰富的功能,使用户能够轻松地创建、管理和维护数据库。 软件下载:Navicat Premium fo…

NLP论文阅读记录 - 2022 | WOS 04.基于 XAI 的强化学习方法,用于社交物联网内容的文本摘要

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作三.本文方法3.1 总结为两阶段学习3.1.1 基础系统 3.2 重构文本摘要 四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 XAI-Base…

GPT应用_AutoGPT

项目地址:https://github.com/Significant-Gravitas/AutoGPT 1 功能 1.1 整体功能,想解决什么问题 单独使用 ChatGPT 时,只提供基本的聊天,无法实现复杂多步的功能,以及与其它应用交互,如果想提供某种功…

AWVS/Acunetix Premium v24.1.24高级版漏洞扫描器

Acunetix Premium 是一种 Web 应用程序安全解决方案,用于管理多个网站、Web 应用程序和 API 的安全。集成功能允许您自动化 DevOps 和问题管理基础架构。 Acunetix Premium:全面的 Web 应用程序安全解决方案 Web 应用程序对于企业和组织与客户、合作伙…

【PICO】【VRTK】PICO项目后打包后在头盔中运行时不追踪

【背景】 PICO项目打包后可以在头盔中运行,但是画面是贴脸移动的,无法发生有效的空间追踪。 【解决办法】 我的Unity版本是2021.3.30LTS,ProjectSettings中的NetFramework默认是2.1。改到NetFramework后再打包就正常了。

树莓派4B 刷ubuntu20.4.5配置 网线连接 找不到IP解决

跟随的教程: 【树莓派教程第一课 树莓派简介 十分钟玩转系列入门篇】 https://www.bilibili.com/video/BV16U4y1879Q/?p6&share_sourcecopy_web&vd_sourceb96879a51029063390138a2b464a7446 遇到的问题: 在我刷好ubuntu到系统卡并在根目录创建…

算法实战(数组篇)

数组篇 26.删除有序数组中的重复项题目详情题解 27. 移除元素题解 35. 搜索插入位置题目详情题解 66. 加1题目详情题解 88. 合并两个有序数组题目详情题解 108. 将有序数组转换为二叉搜索树题目详情题解注意 118. 杨辉三角题目详情题解 119. 杨辉三角 II题目详情题解 136. 只出…

数学建模实战Matlab绘图

二维曲线、散点图 绘图命令:plot(x,y,’line specifiers’,’PropertyName’,PropertyValue) 例子:绘图表示年收入与年份的关系 ‘--r*’:--设置线型;r:设置颜色为红色;*节点型号 ‘linewidth’:设置线宽&#xff1…

【代码编辑器】VS Code安装下载教程及后续基本配置(一)[小白看这一篇足够了,手把手教会]

前言 Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日[Build]开发者大会上正式宣布一个运行于 [Mac OS X]、[Windows]和[ Linux]之上的,针对于编写现代[Web]和[云应用]的跨平台[源代码编辑器],可在桌面上运行,并…

洛谷-P1802-5 倍经验日

5 倍经验日 题目背景 现在乐斗有活动了!每打一个人可以获得 5 倍经验!absi2011 却无奈的看着那一些比他等级高的好友,想着能否把他们干掉。干掉能拿不少经验的。 题目描述 现在 absi2011 拿出了 x x x 个迷你装药物(嗑药打人…

SQL字典

引言 本文是笔者在学习Oracle数据库的一些基本操作时,针对一些词汇的理解进行记录,形成一份SQL字典,其中包含了单词表和符号表,供大家进行学习交流。 单词表 单词表 序号单词注释用途例句备注1create创建CREATE DATABASE 用于创建…

自定义指令实现按钮防抖

项目中经常会遇到防抖这个场景,比如,页面滚动事件;输入框自动搜索等。为了方便统一管理,提高项目代码的可维护性。我们可以利用Vue的自定义指令完成这个功能。 自定义指令 生命周期/钩子函数 自定义指令拥有自身的生命周期&…

SQL Server 数据表模糊查询(like 用法)以及查询函数

文章目录 一、模糊查询(like)二、查询函数 一、模糊查询(like) 在SQL Server Management Studio (SSMS) 中,进行模糊查询主要是通过使用like操作符来实现的。like操作符用于在where语句中搜索列中具有指定模式的数据。…

5G基站节能及数字化管理解决方案

截至2023年10月,我国5G基站总数达321.5万个,占全国通信基站总数的28.1%。然而,随着5G基站数量的快速增长,基站的能耗问题也逐渐日益凸显,基站的用电给运营商带来了巨大的电费开支压力,降低5G基站的能耗成为…

JVM工作原理与实战(二十二):方法区的垃圾回收

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、Java的内存管理和自动垃圾回收 二、方法区的垃圾回收 1.回收条件 2.手动触发垃圾回收 3.方法区的垃圾回收案例 总结 前言 JVM作为Java程序的运行环境,其负责解释和…

面试题总结-分布式总结

Nginx 篇 【1】简述一下什么是Nginx,它有什么优势和功能? Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。Nginx主要提供功能有 http服务…