python基础语法学习: 文件的简单读写操作 文章目录文件操作什么是编码文件的操作步骤open() 打开文件mode常用的三中基础访问模式文件的读取read() 方法:readlines() 方法readline() 方法for 循环读取文件行文件的关闭with open 语法文件的写入writh() 写入内容flush() 刷新内容到硬盘中文件的追加写入文件操作计算机只认识 0 和 1, 所以需要将内容翻译为 0 和 1 才能保存在计算机中, 同时也需要编码, 将计算机中保存的 0 和 1, 反向翻译回可以识别的内容什么是编码编码就是一种规则集合, 记录了内容和二进制间相互进行转换的逻辑,编码有许多中, 我们最常用的是 UTF-8 编码文件的操作步骤我们平时对文件基本操作, 大概可以分为三个步骤打开文件读写文件关闭文件open() 打开文件在python中, 使用 open 函数, 可以打开一个已经存在的文件, 或者创建一个新文件open(name,mode,encoding)name: 要打开的目标文件名的字符串, 可以包含文件所在的具体路径)mode: 设置打开文件的模式(访问模式): 只读, 写入, 追加等encoding: 编码格式例如:fopen(python.txt,w,encodingUTF-8)此时的 ‘f’ 是 open 函数的文件对象, 对象是 python 中一种特殊的数据类型, 拥有属性和方法, 可以使用对象, 属性或对象, 方法对其进行访问fopen(python.txt,r,encodingUTF-8)print(type(f))# class _io.TextIOWrappermode常用的三中基础访问模式模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。w打开一个文件只用于写入。如果该文件已存在则打开文件并从开头开始编辑原有内容会被删除。如果该文件不存在创建新文件。a打开一个文件用于追加。如果该文件已存在新的内容将会被写入到已有内容之后。如果该文件不存在创建新文件进行写入。文件的读取read() 方法:文件对象.read(num)num表示要从文件中读取的数据的长度(单位是字节), 如果没有传入 num, ,那么就表示读取文件中所有的数据fopen(python.txt,r,encodingUTF-8)# 读取10个字节print(f读取10个字符的内容:{f.read(10)})readlines() 方法readlines 可以按照行的方式把整个文件中的内容进行一次性读取, 并且返回的是一个列表, 其中每一行的数据为一个元素fopen(python.txt,r,encodingUTF-8)contentf.readlines()print(type(content))# class listprint(content)# [hello xinyan\n, hello world\n, hello\n]f.close()readline() 方法一次读取一行fopen(python.txt,r,encodingUTF-8)contentf.readline()print(content)contentf.readline()print(content)contentf.readline()print(content)# 关闭文件f.close()输出:hello xinyan hello world hellofor 循环读取文件行fopen(python.txt,r,encodingutf-8)forlineinf:print(line)文件的关闭f.open(python.txt,r,encodingUTF-8)f.close()最后通过close, 关闭文件对象, 也就是关闭对文件的占用如果不调用close, 同时程序没有停止运行,那么这个文件就将一直被python程序占用with open 语法withopen(python.txt,r,encodingUTF-8)asf:forlineinf:print(f每一行数据是:{line})通过在with open 的语句块中对文件进行操作, 可以在操作完成后自动关闭close 文件, 避免遗忘掉close方法文件的写入当 mode “w” 的模式打开文件, 如果不存在文件, 会创建一个新的文件writh() 写入内容flush() 刷新内容到硬盘中文件写入通过write()方法fopen(python.txt,w,encodingutf-8)f.write(hello world)f.flush()注意: 直接调用write, 内容并没有真正写入文件, 而且会积攒在程序的内存中, 称之为缓冲区当调用 flush 的时候, 内容会真正写入文件, 这样做是避免频繁的操作硬盘, 导致效率下降close() 方法是内置flush() 的功能的, 如果不调用flush() 方法, 但是调用了close() 方法, 同样文件也是会写入内容的文件的追加写入打开方式fopen(python.txt,a,encodingutf-8)通过write() 方法写入新的内容fopen(python.txt,w,encodingutf-8)f.write(hello world)f.close()fopen(python.txt,a,encodingutf-8)f.write(\nhello world)f.close()文件内容hello world hello world

相关新闻

最新新闻

基于Unet的皮肤病分割系统:图像分割到部署全流程实战解析

基于Unet的皮肤病分割系统:图像分割到部署全流程实战解析

简介:医学影像分析中,语义分割是量化评估病灶区域的关键技术,尤其在皮肤病变的自动检测场景中具有重要临床价值。Unet作为医学图像分割的经典网络,通过编码器-解码器结构与跳跃连接,能在保留深层语义信息的同时精确恢复…

2026/8/27 12:48:11
2026企业呼叫中心选型:自建与云呼叫中心全维度对比评估指南

2026企业呼叫中心选型:自建与云呼叫中心全维度对比评估指南

摘要:呼叫中心选型是企业通信基础设施决策中牵一发动全身的环节。本文从成本结构、部署周期、弹性扩展、灾备能力、数据合规、系统集成、运维复杂度七个维度,对自建呼叫中心与云呼叫中心进行系统性对比评估,给出可量化的决策框架与选型判断路…

2026/8/27 12:48:11
物流企业400热线建设:高并发售后进线场景的架构设计与落地实践

物流企业400热线建设:高并发售后进线场景的架构设计与落地实践

摘要:物流行业售后进线具有明显的“峰谷波动大、问题类型集中、情绪负载高”特征。本文从高并发接入、智能路由、灾备降级与数据闭环四个层面,系统梳理物流企业400热线在售后场景下的建设思路与关键技术方案,给出可落地的架构参考。全文不涉及…

2026/8/27 12:48:11
25美分MCU实现25种传感功能:低成本传感方案设计与落地

25美分MCU实现25种传感功能:低成本传感方案设计与落地

1. 25美分和25种传感功能,这个账是怎么算平的先直接说结论:25美分在一片MCU上实现25种传感功能,不是厂商宣传话术里的“极限压榨”,而是把MCU从“处理器”重新看作“模拟前端数字逻辑的集合”之后,自然而然得到的结果。…

2026/8/27 12:48:11
MCU+FPGA安全关键平台:AURIX与Zynq异构计算实战解析

MCU+FPGA安全关键平台:AURIX与Zynq异构计算实战解析

做汽车电子和工业控制的朋友,这几年应该都有同一个感受:单靠一颗MCU,已经很难扛下越来越重的算力需求,同时还得守住功能安全这条红线。无论是ADAS域控制器、线控底盘还是机器人控制器,主控板上经常能看到“MCUFPGA”的…

2026/8/27 12:48:11
Android 学习笔记--android——Activity学习

Android 学习笔记--android——Activity学习

android Activity学习 Activity 创建的三要素: 1、创建的类要去继承activity 2、setContentView();应用布局文件 3、在清单文件中进行配置 android:name“com.example.ex_0310_01.MainActivity” (包名.类名) 1、 A---->B 调用startActivi…

2026/8/27 12:43:10