83文件操作——读取文件
文章目录
- 1、读取指定字符
- 2、读取一行
- 3、读取全部行
- 4、想一想
在 Python
中打开文件后,除了可以向其写入或追加内容,还可以读取文件中的内容。读取文件内容主要分为以下几种情况:
1、读取指定字符
文件对象提供了read()
方法读取指定个数的字符,语法格式如下:
file.read([size])
参数说明:
file
:为打开的文件对象。size
:可选参数,用于指定从文件中读取的字符数(文本模式)或字节数(二进制模式),默认为 -1,如果省略,表示读取整个文件。
返回从字符串中读取的数据。
注意:在调用read()
方法读取文件内容的前提是在打开文件时,指定的打开模式为r(
只读)或者r+
(读写),否则,将抛出异常。
使用read(size)
方法读取文件时,是从文件的开头读取的。
2、读取一行
在使用read()
方法读取文件时,如果文件很大,一次读取全部内容到内存,容易造成内存不足,所以通常会采用逐行读取。文件对象提供了readline()
方法用于每次读取一行数据。readline()方法的基本语法格式如下:
file.readline()
其中,file
为打开的文件对象。同read()
方法一样,打开文件时,也需要指定打开模式为r(只读)或者r+(读写)。
3、读取全部行
读取全部行的作用同调用read()
方法时不指定size
类似,只不过读取全部行时,返回的是一个字符串列表,每个元素为文件的一行内容。读取全部行,使用的是文件对象的readlines()
方法,其语法格式如下:
file.readlines()
其中,file
为打开的文件对象。同read()
方法一样,打开文件时,也需要指定打开模式为r
(只读)或者r+
(读写)。
4、想一想
如果一个文件很大,比如5G
,试想应该怎样把文件的数据读取到内存然后进行处理呢?
调用read()
会一次性读取文件的全部内容,如果文件有10G
,内存就爆了,所以,要保险起见,可以反复调用read(size)
方法,每次最多读取size
个字节的内容。另外,调用readline()
可以每次读取一行内容,调用readlines()
一次读取所有内容并按行返回list
。因此,要根据需要决定怎么调用。
如果文件很小,read()
一次性读取最方便;如果不能确定文件大小,反复调用read(size)
比较保险;如果是配置文件,调用readlines()
最方便:
for line in f.readlines():print(line.strip()) # 把末尾的'\n'删掉
83文件操作——读取文件相关推荐
- python读文件操作-python文件操作读取文件写入文件
读取文件 要使用文本文件中的信息,首先需要将信息读取到内存中.为此,你可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取. 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创 ...
- 【C 语言】文件操作 ( 读取文件中的结构体数组 | feof 函数使用注意事项 )
文章目录 一.读取文件中的结构体数组 | feof 函数使用注意事项 二.代码示例 一.读取文件中的结构体数组 | feof 函数使用注意事项 读取文件结构体时 , 可以循环读取文件中的数据 , 只使 ...
- 文件操作-读取文件后文件指针会发生变化
# 1. 打开文件 file = open("README")# 2. 读取文件内容 text = file.read() print(text) print(len(text)) ...
- 文件操作-读取文件内容
hello 1 hello 2 hello 345 # 1. 打开文件 file = open("README")# 2. 读取文件内容 text = file.read() pr ...
- python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入
Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...
- python以写模式打开的文件无法进读操作_Python文件操作:文件的打开关闭读取写入...
Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...
- nodejs fs创建文件_节点FS – NodeJS创建文件,读取文件,写入文件
nodejs fs创建文件 Node FS stands for NodeJS File System module. In my previous post, we have already dis ...
- python读取写入文件_Python读取文件,写入文件,打开文件,删除文件,复制文件
python读取写入文件 In this tutorial we are going to learn about Python File Operations such as python read ...
- .NET基础-11-ArrayList|Hashtable|File文件操作|Dircetioy文件夹操作|Path路径操作
集合 ArrayList与Hashtable应为存在拆箱与装箱,所以性能不怎么好,尽量不要使用,而使用泛型集合 可以使用下面的方式输出所消耗的时间 //ArrayList arl = new Arra ...
最新文章
- 深度学习项目实战-关键点定位视频课程
- Connection reset by peer原理解析
- Java程序员从阿里、京东、美团面试回来,这些面试题你会吗?
- 旧文 | 舒迅:产品经理必读的九步法
- cmake的使用-为什么要使用CMake
- java lambda函数_Java SE 8新功能介绍:使用Lambda Expression进行函数式编程
- 数学建模3 论文排版注意点
- Apache在windows下的安装与配置
- 关于java是最好的语言的段子_疯狂java——第一章 java语言概述与开发环境
- 操作系统源代码_计算机自制操作系统(八):仿生DOS操作系统源代码
- 几个移动端直播SDK开源地址
- Springboot整合七牛云上传图片
- 公司版苹果开发者账号注册申请流程
- 虚拟手游服务器,自己搭建手机游戏服务器
- 登陆远程kvm_KVM远程VMM管理
- 1.11 Illustrator视图的预览模式 [Illustrator CC教程]
- java 替换文件中的字符串
- 文件新旧判断和字符串判断
- 你自己写春联吗?你会贴春联吗?还是毛笔墨水早就不见了?
- easypoi实现导出数据、下载导入模板、导入数据
热门文章
- 如何在VMware上安装一个Android虚拟机
- 程序员不可能查到你的个人信息
- 全球及中国LFP电池市场供需调研与“十四五”前景预测报告2022年版
- 世界上最短的DVD解码程序(附源码)
- 银河麒麟操作系统问题解决方式汇总
- 《机器学习:算法原理与编程实践》的读书笔记:SMO部分最难,大部分代码基于Scikit-Learn,决策树其实用处不大
- Win10升级后极速模式网页打开卡慢的解决办法
- #{}不自动改参数类型_【Just For Fun】C - 可变参数函数、可变参数宏 __VA_ARGS__、额外的逗号
- win10 linux启动不了系统,win10下linux子系统无法启动宝塔服务器
- Java是重型兵团,哪Python呢?