Python学习笔记(十五)————文件操作相关

目录

1)文件编码

2) 文件的读取

①open()打开函数

② mode常用的三种基础访问模式

 ③读操作相关方法

read()方法:

readlines()方法:

 readline()方法:一次读取一行内容

 for循环读取文件行

 close() 关闭文件对象

 with open 语法

 操作汇总

3)文件的写入

4)文件的追加


1)文件编码

编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。计算机中有许多可用编码:

UTF-8(目前全球通用的编码格式)
GBK
Big5
其他

不同的编码,将内容翻译成二进制也是不同的。

2) 文件的读取

①open()打开函数

Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下

name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)

mode:设置打开文件的模式(访问模式):只读、写入、追加等。

encoding:编码格式(推荐使用UTF-8

示例代码:

 

 注意:此时的`f``open`函数的文件对象,对象是Python中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象.方法对其进行访问,后续面向对象课程会给大家进行详细的介绍。

② mode常用的三种基础访问模式

模式

描述

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

w

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

如果该文件不存在,创建新文件

a

打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后

如果该文件不存在,创建新文件进行写入。

 ③读操作相关方法

read()方法:

num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。

readlines()方法:

readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

 readline()方法:一次读取一行内容

 for循环读取文件行

 close() 关闭文件对象

 with open 语法

 操作汇总

操作

功能

文件对象 = open(file, mode, encoding)

打开文件获得文件对象

文件对象.read(num)

读取指定长度字节

不指定num读取文件全部

文件对象.readline()

读取一行

文件对象.readlines()

读取全部行,得到列表

for line in 文件对象

for循环文件行,一次循环得到一行数据

文件对象.close()

关闭文件对象

with open() as f

通过with open语法打开文件,

可以自动关闭

3)文件的写入

写入文件使用open函数的”w”模式进行写入

wirte () ,写入内容
flush() ,刷新内容到硬盘中

注意:直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区

当调用 flush 的时候,内容会真正写入文件。这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)
文件如果不存在,使用 ”w” 模式,会创建新文件
文件如果存在,使用 ”w” 模式, 会将原有内容清空

4)文件的追加

追加写入文件使用open函数的”a”模式进行写入

追加写入的方法有(和w模式一致):

wirte () ,写入内容

       flush(),刷新内容到硬盘中

 

注意:

a模式,文件不存在会创建文件
a模式,文件存在会在最后,追加写入文件
•可以使用”\n”来写出换行符

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

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

相关文章

MySQL单表查询练习题

目录 第一题 第二题 第三题 第一题 1.创建数据表pet,并对表进行插入、更新与删除操作,pet表结构如表8.3所示。 (1)首先创建数据表pet,使用不同的方法将表8.4中的记录插入到pet表中。 mysql> create table pet( name varchar(…

如何在Microsoft Excel中快速创建等比序列

Excel 中的填充句柄允许你通过拖动句柄自动填充行或列中的数据列表(数字或文本)。这可以在大型工作表中输入顺序数据时节省大量时间,并提高工作效率。 如果数据遵循某个模式或基于其他单元格中的数据,则可以使用“自动填充”功能…

尚无忧多城市共享自助台球室台球厅预约开灯开门小程序源码

1、定位功能:可定位附近是否有店 2、能通过关键字搜索现有的店铺 3、个性轮播图展示,系统公告消息提醒 4、个性化功能展示,智能排序,距离、价格排序 5、现有店铺清单展示,订房可查看房间单价,根据日期、…

【Leetcode】203. 移除链表元素

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, val0, nextNone): # self.val va…

能够ping通服务器的同时端口不通的排查方法

概述 当您在客户端访问目标服务器时,如果能ping通,但业务端口无法访问,您可以参见以下方法进行排查。 步骤一:实例安全组检查 1、登录ECS管理控制台,单击实例。 2、在顶部菜单栏左上角处,选择地域。 3、…

2023精选接口测试面试题(建议收藏)

前言 接口测试是现在软件测试面试中的重点,基本上每家公司面试都会问到,学姐整理一下接口测试相关的面试题,顺便给出一些参考答案。 01 Q1:一个接口用例中有多个API接口,前后两个 API 之间如何进行参数传递的&#x…

[分块][STL][树]【Centroids】不一样的解法

前言 一道好题,也就花了我一个下午而已。 本人做法比较清奇,可以当做开阔思路参考,并不太建议实操(太难调了!)。 文章较啰嗦,谅解。 思路 众所周知,我并不太喜推式子&#xff0…

矩阵系统源码智能回复私信场景开发

抖音矩阵系统源码智能回复私信场景开发 一、要想开发私信功能开发者需要准备的工作 开发者需要先对接官方api接口以及去申请api提交审核,目前需要了解官方对开发者对该能力开发权限的功能符合开发需求,其次需要了解官方私信触达的规则 1.申请流程&…

Codeforces-Round-883-Div-3

Codeforces Round 883 (Div. 3) 链接:https://codeforces.com/contest/1846 A. Rudolph and Cut the Rope There are n n n nails driven into the wall, the i i i-th nail is driven a i a_i ai​ meters above the ground, one end of the b i b_i bi​ m…

Excel 合并单元格筛选时只出现首行

一、问题描述 如果对合并单元格直接筛选,只能筛选出第一个单元格的值 二、原因分析: Excel筛选单元格时,遇到不连续区域(即中间有空白单元格)会识别不到后续内容; 合并单元格后, 除首行外&…

十八、Jenkins(centos7)执行接口自动化测试脚本,飞书推送测试结果消息

十八、Jenkins(centos7)执行接口自动化测试脚本,飞书推送测试结果消息 1.创建 Freestyle project 项目 2. 输入git仓库地址 https://gitee.com/HP_mojin/pytest_allure_request_20220811 3. 增加构建步骤-Execute shell(Jenkins…

Go 语言数组

Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。 相对于去声明 number0, number1, ..., number99 的变量,使用数组形式 numbers[0], num…