Python文件操作相关知识点(读取/写入数据)

news2025/2/24 15:06:20

1.open函数的定义

(1)open函数的简要概述

open(filename)函数接受一个参数——要打开文件的名称,Python在当前执行的文件所在的目录中查找指定的文件。并返回一个表示文件的对象。

open()函数常常与with关键字一起使用,目的是:当程序访问完文件后,不用在意文件状态。从而实现:程序员只管打开操作文件,并需要时使用它;使用完成后,Python会在合适的时机自动将其关闭。

这样就不需要程序员考虑什么时候使用close()函数关闭文件。

(2)常见的文件操作格式:

with open("filename","文件模式",encoding=“utf-8”) as f:

f.read()——(这里可以是其他函数)

(3)常见文件模式补充

r—— 以只读方式打开文件。(默认格式)文件的指针将会放在文件的开头。

w——打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件

a——打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

2.读取文件内容的相关函数

操作文件内容如下:

①read()函数

read()函数可以读取文件对象中的全部内容,但是read()函数到达文件末尾时返回一个空字符串,而将这个字符串显示出来就是一个空行。

如果在实际开发中需要删除这个空行,可以使用rstrip()函数。

代码演示——使用read函数,不传入参数。读取全部文件内容且文件末尾输出空白行:

with open("demo_file.txt",'r',encoding='utf-8') as f:
    result=f.read()
    print(result)

②readlines()函数

readlines()函数将文件中的全部内容按行读取,返回结果是一个列表。且将文件一行的内容作为一个列表元素。

代码演示:

with open("demo_file.txt",'r',encoding='utf-8') as f:
    result=f.readlines()
    print(result)

③readline()函数

read()函数一次读取文件中的一行内容。

代码演示:

with open("demo_file.txt",'r',encoding='utf-8') as f:
    result=f.readline()
    print(result)

3、向文件写入内容的相关函数

(1)write()函数

①write()方法是文件对象的一个方法,用于向文件中写入一个字符串。该方法接收一个字符串作为参数,且将参数内容写入文件。

代码演示:

with open("demo_file.txt",'a',encoding='utf-8') as f:
    f.write("\n这是添加的字段")
    print("======添加完成!!=======")
​

(2)writelines()方法

writelines()方法是文件对象的一个方法,用于向文件中写入一个字符串列表。且将列表中的每个元素依次追加到文件末尾。

代码演示:

with open("demo_file.txt",'a',encoding='utf-8') as f:
    f.writelines(["\nzheshi yige yanshi ziduan "," \nyuanye xiaolu "])
    print("======添加完成!!=======")

解答疑惑:

为什么我们没有在文章,演示和讲解使用close()函数来关闭操作的情形?

因为使用close()函数关闭操作文件,其实是很不安全的,而且当我们忘记关闭操作文件,程序会报错。这在实际开发中,其实很不友好。所以现在基本都在使用with 关键字和函数open()的结构来操作文件。

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

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

相关文章

基于python智慧社区家政服务系统的设计与实现flask-django-nodejs-php

随着现代网络技术发展,对于智慧社区家政服务系统的设计现在正处于发展的阶段,所以对的要求也是比较严格的,要从系统的功能和用户实际需求来进行对系统制定开发的发展方式,依靠网络技术的的快速发展和现代通讯技术的结合为人们带来…

MyBatis是纸老虎吗?(四)

在《MyBatis是纸老虎吗?(三)》这篇文章中我们一起梳理了MyBatis配置文件的解析流程,并详细介绍了其中的一些常见节点的解析步骤。通过梳理,我们弄清楚了MyBatis配置文件中的一些常用配置项与Java Bean之间的对应关系&a…

threejs之贴图原理

// 导入threejs import * as THREE from "three"; // 导入轨道控制器 import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";// 创建场景 const scene new THREE.Scene();// 创建相机 const camera new THREE.PerspectiveCame…

使用Java JDBC连接数据库

在Java应用程序中,与数据库交互是一个常见的任务。Java数据库连接(JDBC)是一种用于在Java应用程序和数据库之间建立连接并执行SQL查询的标准API。通过JDBC,您可以轻松地执行各种数据库操作,如插入、更新、删除和查询数…

有没搞错!花了大价钱的激光孔设计性能竟然不如普通通孔?

高速先生成员--黄刚 老话说得好,一分耕耘一分收获,又或者另外一句,有什么付出就会得到多少收获。我们都不会去怀疑这些话的正确性。但是把这两句话用到PCB领域中,用了好的加工工艺后,PCB板的性能就一定会比用普通工艺要…

视频素材免费下载素材库哪里有?推荐8个高清无水印素材网

在这个数字化时代,无论是专业的内容创作者还是日常的社交媒体使用者,我们都会寻找高质量的素材来丰富我们的作品或帖子。从令人震撼的摄影作品到高分辨率的视频素材,再到生动的GIF和必需的设计元素,素材的需求无处不在。 视频素材…

XXL-JOB完全开发手册(一篇学会XXL-JOB所有知识点)

目录 1、什么是XXL-JOB 1.1、XXL-JOB简介 1.2、XXL-JOB构成 调度模块(调度中心): 执行模块(执行器): 任务: 1.3、XXL-JOB总结 ​编辑 2、XXL-JOB原理 2.1、执行器的注册和发现 2.2、调度中心调用…

基于华为ensp的企业网络规划(新版)

第一章 项目概述 1.1 项目总体描述 假设某大型公司总部在北京、在重庆设置分部,总部和分部均有研发部、市场部、财务部等部门,现在要求进行网络规划与设计,实现分部和总部能够进行网络连通。为了保证数据安全,在总部和分部之间可…

教师怎么发成绩才不会被投诉

在当今社会,教育的重要性日益凸显,而学生的成绩作为衡量教育效果的重要指标之一,备受家长和学生的关注。然而,教师在发布成绩时,稍有不慎就可能引发家长的不满和投诉。那么,教师该如何发成绩才能避免被投诉…

【Spring Cloud Gateway】路由配置uri三种方式及区别

websocket配置方式 ws:// 或 wss:// 开头的 URI,表示配置的是支持 Websocket 协议的目标地址。 这种方式适用于需要与客户端建立长连接、实现双向通信的场景,比如实时消息推送、即时聊天等。 使用 Websocket 配置方式可以让 Spring Cloud Gateway 能够…

【物联网】Modbus 协议及应用

Modbus 协议简介 QingHub设计器在设计物联网数据采集时不可避免的需要针对Modbus协议的设备做相关数据采集,这里就我们的实际项目经验分享Modbus协议 简介 Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太…

虚拟机VMware上 centos7 的网络配置

第一步:权限的切换 由普通用户切换到管理者/超级用户 用户名为:root 密码为:自己安装 linux 时第一次设置的密码 su -root管理者/超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。当看到你的命令提示符为“$”时&…

《世界之外》玩家闹上315,乙游打响维权大战

315维权微博的评论区,竟然被举报网易的玩家占领了。 玩家举报网易乙游《世界之外》虚假宣传侵害消费者权益,在游戏中设置排行榜和专属商店将玩家分为三六九等,诱导玩家消费氪金,强烈要求网易打开退款通道。 目前大批玩家举报的举…

如何在三个简单步骤中为对象检测标注图像

初始通过彻底清洗和处理原始图像数据来奠定有效对象检测注释的基础。选择适合的工具、方法和清晰的注释过程指南来建立注释工作空间。通过在图像中划定对象并附上类别标签来执行注释,随后进行细致的核验,以确保数据集的精确性和完整性。 图像注释是计算…

klipper源码分析之simulavr测试

分析Klipper源码,有时需要结合下位机一起分析,这样才能更加全面的了解Klipper的工作原理。如果手头上有打印机主板,电脑当做上位机运行Klipper,这样是比较方便。如果手头上没有打印机主板,可以用simulavr模拟AVR下位机…

蓝桥杯备赛_python_DFS搜索算法_刷题学习笔记

1.是什么 沿着一条路径一直搜索下去,在无法搜索时,回退到刚刚访问过的节点。并且每个节点只能访问一次。本质上是持续搜索,遍历了所有可能的情况,必然能得到解。 流程是一个树的形式,每次一条路走到黑。 目的主要是达到…

外包2月,技术退步惊现!大专生逆袭大厂,全靠这份神秘资料!

大家好,我是一名大专生,19年通过校招进入湖南某软件公司,从事功能测试工作已近4年。今年8月,我意识到长期舒适的环境让我变得不思进取,技术停滞不前,甚至因此失去了谈了2年的女朋友。我下定决心&#xff0c…

数据容器-list-Python

师从黑马程序员 列表的定义语法 注:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套 my_list["itheima","chengxuyuan","python"] print(my_list) print(type(my_list))#元素类型不受限 my_list[&…

明微电源适配器AC-DC降压型SSR/Buck/Buck-Boost驱动芯片SM7012

电源适配器是一种将市电转换成直流电的装置,常用于为电子设备提供稳定的电源。AC-DC降压型SSR(固态继电器)、Buck、Buck-Boost是三种不同的电源转换技术。 1. SSR(固态继电器):SSR是一种电子开关&#xff…

Linux之shell文本编辑工具sed

华子目录 sed概念工作原理 基本语法格式参数定位符操作 输出文本范例文本定址符和操作符连用搭配正则使用规定语法 文本替换范例文件格式示例&示例\u大写字母\L小写字母\b确定单词边界 配置实例使用替换实现删除 删除文本示例 插入文本格式示例 注意 sed概念 sed是一个非交…