首页 > Python资料 博客日记
Python(18)--文件输入/输出 Ⅱ
2024-03-06 22:00:04Python资料围观187次
大家好!我是码银🥰
欢迎关注🥰:
CSDN:码银
公众号:码银学编程
前言
前一篇文章(python(17)–文件的输入/输出-CSDN博客)介绍了如何操作文本文件和二进制文件,以及对应文件的写入和读取。这篇文章继续学习文件的输入/输出操作😆。
正文
文件的删除
文件的删除可以使用os模块的remove()函数来删除文件,这样我们可以编写一个函数以此达到删除文件的作用,下面是一个示例代码:
import os
def 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 shutil
def 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 re
if __name__ == "__main__":
try:
with open("filename.txt", "r") as f:
count = 0
for 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}")
欢迎关注:
标签:
相关文章
最新发布
- 光流法结合深度学习神经网络的原理及应用(完整代码都有Python opencv)
- Python 图像处理进阶:特征提取与图像分类
- 大数据可视化分析-基于python的电影数据分析及可视化系统_9532dr50
- 【Python】入门(运算、输出、数据类型)
- 【Python】第一弹---解锁编程新世界:深入理解计算机基础与Python入门指南
- 华为OD机试E卷 --第k个排列 --24年OD统一考试(Java & JS & Python & C & C++)
- Python已安装包在import时报错未找到的解决方法
- 【Python】自动化神器PyAutoGUI —告别手动操作,一键模拟鼠标键盘,玩转微信及各种软件自动化
- Pycharm连接SQL Sever(详细教程)
- Python编程练习题及解析(49题)
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程