【零基础入门学习Python---Python中的文件操作教程】

news2024/11/20 0:35:04

在这里插入图片描述

🚀 Python 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 Python 🚀

在这里插入图片描述

🍔 目录

  • 🏆 Python文件操作
    • 🏅 文件的打开和关闭
    • 🏅 文件读取和写入
      • 📢 文件读取方法
      • 📢 文件写入方法
    • 🏅 文件指针和文件操作方法
    • 🏅 异常处理和文件操作的错误处理
    • 🏅 使用上下文管理器(with语句)简化文件操作
    • 🏅 序列化和反序列化数据(pickle模块)
    • 🎯 总结
    • 💬 共勉

🏆 Python文件操作

本文将深入探讨Python中的文件操作,包括文件的打开和关闭、文件读取和写入、文件指针和文件操作方法、异常处理和文件操作的错误处理、使用上下文管理器等内容,并提供详细的案例代码。

🏅 文件的打开和关闭

在Python中,您可以使用open()函数打开一个文件,该函数接受文件名和操作模式作为参数。操作模式指定了文件如何打开:只读、只写、追加等。

以下是一个示例,演示如何使用open()函数打开一个文件:

file = open("example.txt","r")

在这个例子中,我们打开了名为"example.txt"的文件,并指定为只读模式。要关闭文件,您需要调用文件对象的close()方法,如下所示:

file.close()

🏅 文件读取和写入

在Python中,您可以使用文件对象的方法来读取和写入文件。以下是一些常用的文件读写方法:

📢 文件读取方法

  • read(): 读取整个文件。
  • readline(): 读取文件的下一行。
  • readlines(): 读取文件的所有行。

以下是一个演示如何使用文件读取方法的示例:

file = open("example.txt","r")
print(file.read())
file.close()

在这个例子中,我们使用read()方法读取整个文件,并将其打印到控制台上。

📢 文件写入方法

  • write(): 将文本写入文件。
  • writelines(): 将一个字符串列表写入文件。

以下是一个演示如何使用文件写入方法的示例:

file = open("example.txt","w")
file.write("Hello World!")
file.close()

在这个例子中,我们使用write()方法将"Hello World!"写入到文件中。

🏅 文件指针和文件操作方法

在Python中,文件操作和移动文件指针可以使用文件对象的方法完成。文件指针是指文件中当前读取和写入的位置。以下是一些常用的文件操作方法:

  • tell(): 返回文件指针的当前位置。
  • seek(offset[, whence]): 在文件中移动指针。
    • offset:偏移量
    • whence:起始位置
      • 0:文件开头
      • 1:当前位置
      • 2:文件结尾

以下是一个演示如何使用文件操作方法的示例:

file = open('example.txt', 'r')
text = file.read(10)
position = file.tell()
print('Text:', text)
print('Position:', position)
file.seek(0, 0)
text = file.read(5)
print('Text:', text)
file.close()

在这个例子中,我们使用read()方法读取了前10个字符,并使用tell()方法获取当前位置。然后,我们使用seek()方法将文件指针返回到起始位置,并再次使用read()方法读取了前5个字符。

🏅 异常处理和文件操作的错误处理

在Python中,文件操作可能会导致错误。如果文件不存在、文件权限错误或其它错误,Python将抛出异常。您可以使用try…except语句捕获这些异常来处理它们。

以下是一个演示如何处理异常的示例:

try:
    file = open('example.txt', 'r')
    text = file.read()
except IOError:
    print('Error: File not found or could not be read.')
else:
    print('Content:', text)
    file.close()

在这个例子中,我们使用try…except语句来捕获文件操作可能抛出的IOError异常,打印相关的出错信息,然后程序正常结束。

🏅 使用上下文管理器(with语句)简化文件操作

Python中的with语句可用于简化文件操作。由于with语句在使用完文件时会自动关闭文件,因此可以避免在代码中显式调用file.close()方法的繁琐操作。

以下是一个演示使用with语句简化文件操作的示例:

with open('example.txt', 'r') as file:
    text = file.read()
    print('Content:', text)

在这个例子中,我们使用了with语句打开文件,并在with块内部执行操作,with语句执行完成后,Python自动关闭文件。

🏅 序列化和反序列化数据(pickle模块)

序列化指的是将Python对象转换为一系列字节,可以保存在文件或网络上。反序列化指的是将字节转换回Python对象。

pickle模块是Python的标准模块,用于实现序列化和反序列化Python对象。

以下是一个演示使用pickle模块序列化和反序列化数据的示例:

import pickle

data = {'name': 'Tom', 'age': 25, 'sex': 'male'}

with open('data.pickle', 'wb') as file:
    pickle.dump(data, file)

with open('data.pickle', 'rb') as file:
    data_new = pickle.load(file)

print(data_new)

在这个例子中,我们使用pickle.dump()将一个Python对象(字典)写入到文件中,然后使用pickle.load()从文件中读取数据并反序列化为Python对象。

🎯 总结

本文深入探讨了Python中的文件操作,包括文件的打开和关闭、文件读取和写入、文件指针和文件操作方法、异常处理和文件操作的错误处理、使用上下文管理器等内容,并提供详细的案例代码。我们还介绍了pickle模块,它是Python的标准模块,用于实现序列化和反序列化Python对象。希望这篇文章对Python编程初学者有所帮助。

💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

王道考研数据结构代码总结(第六章)

目录 图基本定义拓扑排序 本文包含王道考研讲课中所涉及的数据结构中的所有代码,当PPT代码和书上代码有所区别时以咸鱼的PPT为主,个人认为PPT上的代码比王道书上的代码要便于理解,此外,本博客也许会补充一些额外的代码进来&#x…

【C++】STL关联式容器之map和set

【关联式容器】之map和set 容器类型树形结构的关联式容器mapset,multiset,multimap的区别与联系 容器类型 在STL中,我们接触过许多容器,例如:vector,list,stack,queue,m…

Version of Delve is too old for this version of Go

背景 编译go报错提示信息,delve版本太老 执行下载dlv.exe go install github.com/go-delve/delve/cmd/dlvlatest 将下载的dlv文件放在ide目录下替换

基于DSP28335的三电平有源电力滤波器

完整的软硬件资料,其中包括两套基于DSP28335的三电平有源电力滤波器。这些资料可以直接使用。 提取的知识点和领域范围: 三电平有源电力滤波器DSP28335芯片 延申科普: 三电平有源电力滤波器是一种用于电力系统中的滤波器,用于减…

vue实现简单登录界面

使用Vue实现简单的用户登录界面&#xff0c;登录成功做路由跳转&#xff0c;背景图片可自定义。实现效果如下&#xff1a; html部分 <template><div class"content"><div class"login_container"><el-form v-model"loginData&q…

Locate and Label: A Two-stage Identifier for Nested Named EntityRecognition

原文链接&#xff1a;https://aclanthology.org/2021.acl-long.216.pdf ACL 2021 介绍 问题 span-based方法将实体识别当作span的分类任务来做&#xff0c;存在以下缺陷&#xff1a;1&#xff09;计算量大&#xff0c;为了尽可能覆盖到所有实体&#xff0c;就会对多个span进行…

基于YOLO V8的车牌识别

赵春江 2023年6月 1、前言 十年前就想实现车牌识别这项任务&#xff0c;虽然当时这项技术就已较成熟&#xff08;与现在的实现方法不同&#xff09;&#xff0c;但那时的我还具备这个能力。弹指一瞬间&#xff0c;没想到十年间人工智能技术已经发展到一个新的高度&#xff0c…

【每日编程Day29】有假币

目录 一、选择题 二、编程题 1、有假币 一、选择题 重点复习选择题4,8,10。 问题4&#xff1a; 类方法&#xff1a;又称为静态方法。而实例方法不能加static&#xff0c;又叫非静态方法。 类方法和实例方法的区别_类方法和实例方法区别_及可不遥的博客-CSDN博客 &#xff0…

效果!R微型变压器节省空间秘密揭晓!

通常&#xff0c;我们可能会遇到一些特殊的设备。由于其设计空间有限&#xff0c;R型变压器的体积应足够小&#xff0c;以便很好地应用。针对市场上的这个问题&#xff0c;作为R型变压器生产厂家&#xff0c;我们怎么能不注意呢&#xff1f;因此&#xff0c;我们的设计研发团队…

明确了!国家发布程序员和搬砖民工一样,都是农民工!

目录 前言 怎么解释新生代农民工&#xff1f; 2019年确定程序员属于密集型劳动者 新生代民工确实非常形象&#xff1a; 总结&#xff1a; 前言 前几天我们发现&#xff0c;人社局官网发布了一则报告&#xff0c;显示软件开发和信息技术服务业都属于新生农工&#xff0c;不…

前端获取地区的天气状况

翻阅了大量的帖子&#xff0c;在赛选了很多废的帖子之后找到了两个总体来说还不错的 一&#xff1a;配置高德地图 高德地图的查看天气的话&#xff0c;是每天免费100次 先访问高德官网&#xff1a;高德控制台&#xff0c;注册后申请应用&#xff0c;获取key值。 这个key值可…

三步轻松搞定,Word图片打印清晰度提升10倍

Word文档中插入图片是非常常见的操作&#xff0c;然而&#xff0c;在打印时有时会遇到图片清晰度不够的问题。这种情况下&#xff0c;即使图片在电脑上看起来很清晰&#xff0c;但是在打印时却变得模糊不清。这可能会影响工作效率&#xff0c;甚至影响到呈现效果。那么&#xf…

Java 面试必刷的1100 道Java大厂面试真题(含答案解析)

2023秋招即将来临&#xff0c;很多同学会问 Java 面试八股文有必要背吗&#xff1f; 我的回答是&#xff1a;很有必要。你可以讨厌这种模式&#xff0c;但你一定要去背&#xff0c;因为不背你就进不了大厂。 国内的互联网面试&#xff0c;恐怕是现存的、最接近科举考试的制度…

yolov8训练自有跌倒数据集

参考&#xff1a; https://www.bilibili.com/video/BV1xL411B7ax https://www.dgrt.cn/a/2364195.html?actiononClick https://blog.roboflow.com/how-to-train-yolov8-on-a-custom-dataset/ 1、数据集制作&#xff08;一般是coco格式&#xff09;&#xff1a; lableme&a…

如何用手机快速获得真人手办所需的人像模型

伴随网络生活覆盖面的增大&#xff0c;越来越多的领域需要三维模型 &#xff0c;比如最近爆火的真人手办就必须用到人像模型 。 真人手办的制作过程其实非常简单&#xff0c;在专门搭建的摄影棚内进行全身3D扫描&#xff0c;获得3D人体模型&#xff0c;然后进行修模&#xff0c…

WordCount是什么?WordCount编程实现思路

WordCount算是大数据计算领域经典的入门案例&#xff0c;相当于Hello World。 虽然WordCount业务极其简单&#xff0c;但是希望能够通过案例感受背后MapReduce的执行流程和默认的行为机制&#xff0c;这才是关键。 WordCount编程实现思路 map阶段的核心&#xff1a;把输入的数…

C#.NETWPF开发工业MES MCS系统软件源代码两套

产品介绍&#xff1a; C#.NETWPF开发工业MES MCS系统软件源代码两套 A&#xff0c;WPF MES 上位机产线执行系统。 1&#xff0c; 完整纯源代码&#xff1b; 2&#xff0c; AGV自动调度&#xff1b; 3&#xff0c; SQLSERVER数据库。带附加文件。 4&#xff0c; WPF各种技术…

慕了!17年阿里Java开发大佬把Spring Boot的精髓都总结出来了

目前ssm框架还是比较常用的&#xff0c;其中的ss指的无非就是Spring 和 SpringMVC&#xff0c;我们可以简单地认为 "Spring Boot ≥ Spring SpringMVC" &#xff0c;没错&#xff0c;用了Spring Boot中涵盖了Spring和SpringMVC等大量常用开发配置&#xff0c;而且S…

想知道识别文字的软件有哪些?分享文字识别软件有哪些

嗨~小伙伴们&#xff0c;你们是否有过手写笔记或者拍照存档时不小心照模糊、字迹潦草的经历呢&#xff1f;别担心&#xff0c;现在有很多文字识别软件可以帮助我们迅速将纸质笔记、图片等转化成电子版&#xff0c;方便管理和编辑。今天我们就一起来看看文字识别软件有哪些吧&am…

javaDoc中进行页面跳转

在写java代码时&#xff0c;我们可以写一些用于代码跳转或者网页跳转的注释&#xff0c;这样一来&#xff0c;我们在开发软件&#xff08;比如Idea&#xff09;中就可以通过ctrl鼠标直接跳转。 常用的是{link}和see&#xff0c;两种用法基本一样&#xff0c;区别见下方。 {link…