Python读写文件操作

news/2024/11/7 22:39:09/

一、文件编码

1.1 什么是编码?

不变吗就是一种规则集合,记录了内容和二进制相互转换的逻辑,常用的有UTF-5、GBK等编码

1.2 为什么需要编码?

计算机只认识二进制的0和1,所以需要将内容翻译成二进制才能保存在计算机中。同时也需要编码,反向翻译回原始文件内容。

二、文件的读取

读取大致分为三步:打开文件、读取文件、关闭文件

2.1 open函数

2.2 read函数

read(nbytes),从文件中读取nbytes字节的数据,如果没写参数nbytes,默认读取文件的全部内容

2.3 readlines函数

按行读取文件内容,将每行数据保存到列表容器,用返回值接收。

2.4 readline函数

读取文件的一行。

2.5 close 函数

关闭文件

2.6 with open 函数

with open(“E:/Program/Python/test.txt”, “r”, encoding=“UTF-8”) as f, 可以避免忘记关闭文件而导致的异常。

import time # 导入sleep需要的包file = open("E:/Program/Python/test.txt", "r", encoding="UTF-8")
print(type(file))# 1.read方法
print(file.read(10)) # 读取10个字节
print(file.read())   # 读取全部内容# 2.readlines方法
file_list = file.readlines()
print(file_list)
print(type(file_list))# 3. readline
print(file.readline())# 4.循环读取每一行
for item in file.readlines():print(item)
time.sleep(10)# 5.关闭文件
file.close()# 6.with open,可以避免忘记关闭文件而导致的异常
with open("E:/Program/Python/test.txt", "r", encoding="UTF-8") as f:for line in f:print(line)

三、文件的写入

直接调用write,内容并未真正写入到文件,只是写在了磁盘的缓冲区,当调用flush时才会真正落盘。为什么要调用flush才落盘呢?这样是为了避免频繁的刷盘导致性能下降,只有在特定时候才会刷盘。

import timefile = open("E:/Program/Python/python.txt", "w", encoding="UTF-8")file.write("hello, this is lwang.")
file.write("hello, this is lwang.")
file.write("hello, this is lwang.")
file.write("hello, this is lwang.")# time.sleep(100000)
file.flush()
# time.sleep(100000)file.close()  # close内置flush功能# 追加写测试
file2 = open("E:/Program/Python/python2.txt", "a", encoding="UTF-8")
file2.write("hello,world!")file2.write("\nhere is lwang.")file2.flush()file2.close()

http://www.ppmy.cn/news/2122.html

相关文章

免费搜题系统搭建

免费搜题系统搭建 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转) …

刷爆力扣之1 比特与 2 比特字符

刷爆力扣之1 比特与 2 比特字符 HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照不同类别标签进行刷题&am…

JAVA毕业设计科普网站计算机源码+lw文档+系统+调试部署+数据库

JAVA毕业设计科普网站计算机源码lw文档系统调试部署数据库 JAVA毕业设计科普网站计算机源码lw文档系统调试部署数据库本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、H…

备忘录模式(Memento)

参考: [备忘录设计模式 (refactoringguru.cn)](https://refactoringguru.cn/design-patterns/mediator) 文章目录一、什么是备忘录模式?二、实现三、优缺点优点缺点四、适用环境一、什么是备忘录模式? 在软件构建过程中,某些对象…

【JavaWeb】第七章 Tomcat

文章目录1、JavaWeb2、Web资源与Web服务器3、Tomcat的使用4、部署Web工程到Tomcat中5、工程和资源的访问6、IDEA集成Tomcat服务器7、创建动态web工程8、在IDEA中启动部署web模块1、JavaWeb JavaWeb是指通过Java语言编写的可以通过浏览器访问的程序的总称。 请求: 客…

Python.03.函数使用

目录 函数与方法的区别 函数的定义 传参的情况 常见传参 其他传参 函数的返回值 函数嵌套 Lambda表达式 字典排序 map函数 filter函数 函数与方法的区别 直接调用的是函数 ,通过对象点出来的是方法 print("hello") a [2, 1, 3] a.sort() pri…

C++ lambda表达式详解

一、lambda表达式基本用法 1、语法 Lambda 表达式的基本语法如下: 捕获列表 mutable(可选) 异常属性 -> 返回类型 { // 函数体 } 2、lambda值捕获 /*** brief lamdba值捕获*/ void test() {int nvalue 1;auto func_copyvalue [nvalue]{return nvalue;};nva…

SpringBoot —— 整合RabbitMQ常见问题及解决方案

前言 企业中最常用的消息中间件既不是RocketMQ,也不是Kafka,而是RabbitMQ。 RocketMQ很强大,但主要是阿里推广自己的云产品而开源出来的一款消息队列,其实中小企业用RocketMQ的没有想象中那么多。 至于Kafka,主要还是…