15.Python基础篇-文件操作

news/2024/11/15 14:14:49/文章来源:https://www.cnblogs.com/mingbo-1/p/18424743

文件的打开与关闭

第一种方法:open函数

open函数:打开一个文件,并返回文件对象。如果文件无法打开,会抛出 OSError异常。

open函数的参数介绍:

file参数

要打开的文件路径。可以是绝对路径也可以是相对路径

mode参数

打开文件的模式。分为:

  r:只读。文件的指针会放在文件的开头。这是默认模式。

  w:写入。如果打开的文件不存在,创建新文件。如果该文件已存在则会删除原有内容,再写入。

  a:追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件进行写入。

  b:二进制模式打开。常用于非文本文件的操作,比如视频和图片。或在用于网络传输时使用。

  +:读写模式:与其他模式组合使用,表示文件既可读也可写(如 'r+''w+''a+' 等)。

r+与w+的区别:

 

 

 

encoding参数

以何种编码方式打开文件。常用utf-8

示例代码:

file = open('test.txt', 'r+', encoding='UTF-8')
file.close()

close()关闭文件

使用open函数时需要用到。每次操作完文件都需要关闭,否则打开的文件将一直占用内存,内存只增不减,导致内存泄露。

第二种方法:with open

with open也是打开一个文件,与直接使用open方法打开的区别在于:

  1.open需要手动调用close方法关闭文件;with open不需要。

  2.open需要显式处理异常;with open即使发生异常,文件也会自动关闭

实际应用中应多使用with open的方式。

操作方法介绍

read():一次性读取文件的全部内容。 

with open('test.txt', 'r+', encoding='UTF-8') as file:content = file.read()print(content)#输出:
    测试文案第一行测试文案第二行

 

readline:逐行读取文件,每次读取一行。

with open('test.txt', 'r+', encoding='UTF-8') as file:content = file.readline()print(content)# 输出:
测试文案第一行

 

readlines:读取所有行,返回一个包含每行内容的列表。

with open('test.txt', 'r+', encoding='UTF-8') as file:lines = file.readlines()print(lines)# 输出
['测试文案第一行\n', '测试文案第二行\n']

 

# 结合for循环使用
with open('test.txt', 'r+', encoding='UTF-8') as file:for line in file.readlines():print(line)# 输出
测试文案第一行测试文案第二行

 

seek

 

tell

 

with open

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

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

相关文章

《MySQL 进阶篇》十七:数据库其他调优策略

MySQL 数据库的其他调优策略。Author: ACatSmiling Since: 2024-09-21数据库调优的措施 调优的目标尽可能节省系统资源,以便系统可以提供更大负荷的服务(吞吐量更大)。 合理的结构设计和参数调整,以提高用户操作响应的速度(响应速度更快)。 减少系统的瓶颈,提高 MySQL 数…

《MySQL 进阶篇》十九:事务日志

MySQL redo log 和 undo log。Author: ACatSmiling Since: 2024-09-21事务有 4 种特性:原子性、一致性、隔离性和持久性。那么事务的 4 种特性到底是基于什么机制实现呢?事务的隔离性由锁机制实现。 而事务的原子性、一致性和持久性由事务的redo log和undo log来保证。redo l…

《MySQL 进阶篇》十八:事务基础知识

MySQL 事务的定义、ACID 特性,以及事务的隔离级别。Author: ACatSmiling Since: 2024-09-21数据库事务概述 事务是数据库区别于文件系统的重要特性之一,当有了事务就会让数据库始终保持一致性,同时还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会…

《MySQL 进阶篇》十五:索引优化和查询优化

MySQL 索引优化,以及查询优化。Author: ACatSmiling Since: 2024-09-21数据库调优的维度:索引失效、没有充分利用所以 —— 索引建立。 关联查询太多 JOIN(设计缺陷或不得已的需求)—— SQL 优化。 服务器调优及各个参数设置(缓冲、 线程数)—— 调整 my.cnf。 数据过多 …

《MySQL 进阶篇》十六:数据库的设计规范

MySQL 数据库设计需要遵循什么规范?什么是范式?什么是反范式?Author: ACatSmiling Since: 2024-09-21为什么需要数据库设计 我们在设计数据表的时候,要考虑很多问题。比如:用户都需要什么数据?需要在数据表中保存哪些数据? 如何保证数据表中数据的正确性?当插入、删除、…

《MySQL 基础篇》十一:索引的存储结构

MySQL 索引的存储结构,以及推演过程。Author: ACatSmiling Since: 2024-09-21为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构。 常将索引比作教科书的目录部分(实际上不是完全一样),通过目录找到对应文章的页码,便可快速定位到需要的文章。MySQL 中也是…

《MySQL 基础篇》十二:InnoDB 存储引擎的数据结构

MySQL InnoDB 存储引擎的数据结构。Author: ACatSmiling Since: 2024-09-21数据库的存储结构:页 索引结构提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说时存储在页结构中。另一方面,索引实在存储引擎中实现的,MySQL 服务器上的存储引擎负责对表…

《MySQL 基础篇》九:存储过程、流程控制和触发器

MySQL 的存储过程与函数、变量、流程控制与游标,以及触发器的使用。Author: ACatSmiling Since: 2024-09-20存储过程与函数 MySQL 从 5.0 版本开始支持存储过程和函数。存储过程和函数能够将复杂的 SQL 逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的 SQL 逻辑,而…

《MySQL 基础篇》十:逻辑架构和存储引擎

MySQL 的逻辑架构图,以及存储引擎简介。Author: ACatSmiling Since: 2024-09-21逻辑架构 逻辑架构剖析 服务器处理客户端请求 首先,MySQL 是典型的 C/S 架构,即Client/Server架构,服务器端程序使用的是mysqld。 不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现…

《MySQL 基础篇》六:表和数据的管理

MySQL 表的创建和管理,以及数据的增删改操作。Author: ACatSmiling Since: 2024-09-20创建和管理表 基础知识 一条数据存储的过程 存储数据是处理数据的第一步。只有正确地把数据存储起来,才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。 那么,怎样才能把用户各…

《MySQL 基础篇》七:数据类型

MySQL 中的数据类型。Author: ACatSmiling Since: 2024-09-20MySQL 中的数据类型数据 数据类型整数类型 TINYINT、SMALLINT、MEDIUMINT、INT(或 INTEGER)、BIGINT浮点类型 FLOAT、DOUBLE定点数类型 DECIMAL位类型 BIT日期与时间类型 YEAR、TIME、DATE、DATETIME、TIMESTAMP文…

《MySQL 基础篇》八:约束和视图

MySQL 的约束和视图。Author: ACatSmiling Since: 2024-09-20约束 常见的数据库对象对象 描述表(TABLE) 表是存储数据的逻辑单元,以行和列的形式存在,列就是字段,行就是记录数据字典 即系统表,存放数据库相关信息的表。系统表的数据通常由数据库系统维护,程序员通常不应…