python中read和readline的区别_Python中read()、readline()和readlines()三者间的区别和用法...

前言

众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了。以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也只知道有这么几个方法,不懂得它的原理与用法。也许吧,没有永远的记忆,况且根本没有用心去记它。话不多说,来一起看看详细的介绍:

准备

假设a.txt的内容如下所示:

Hello

Welcome

What is the fuck...

一、read([size])方法

read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象

f = open("a.txt")

lines = f.read()

print lines

print(type(lines))

f.close()

输出结果:

Hello

Welcome

What is the fuck...

#字符串类型

二、readline()方法

从字面意思可以看出,该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象。

f = open("a.txt")

line = f.readline()

print(type(line))

while line:

print line,

line = f.readline()

f.close()

输出结果:

Hello

Welcome

What is the fuck...

三、readlines()方法读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存。

f = open("a.txt")

lines = f.readlines()

print(type(lines))

for line in lines:

print line,

f.close()

输出结果:

Hello

Welcome

What is the fuck...

四、linecache模块

当然,有特殊需求还可以用linecache模块,比如你要输出某个文件的第n行:

# 输出第2行

text = linecache.getline(‘a.txt',2)

print text,

对于大文件效率还可以。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持

时间: 2017-07-29

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

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

相关文章

CentOS赋予一个普通用户root权限

http://www.linuxidc.com/Linux/2012-07/64530.htm转载于:https://www.cnblogs.com/Baronboy/p/7491592.html

腾讯文档网页版登录提示服务器,腾讯文档官网地址,腾讯文档电脑版pc端登录入口...

腾讯文档是腾讯近期推出的一款多人协作在线文档产品,不但打通QQ、微信和PC等多个平台,哪么腾讯文档官网地址是什么?有没有电脑版,想在pc端编辑文档怎么办呢?腾讯文档没有电脑版软件,但腾讯文档网页版可以替…

向深度学习三剑客学习四种科研精神(上)

来源:陈德旺科学网博客深度学习,尤其是深度神经网络学习算法的兴起和大数据的加持,结合GPU的算力,如同 “三英战吕布”,终于搞定了人工智能这一反复无常的“吕布”, 使得人工智能得以第三次复兴。如今&…

val什么意思vb中的属性值_老司机带你探索Mysql中int(1)、int(10)、int(11)的区别是什么?...

在上一篇原创文章MySQL一个表的自增id用完了,背井大佬让我用这些姿势再往里插数据,最后留下了一个问题,大家知不知道int(1)和int(11)有什么区别,没有小伙伴互动回答,只有一位老哥让我说一下什么区别,我说上…

【重点】【堆】347.前K个高频元素

题目 最大的K个元素 > 小根堆&#xff08;类似上窄下宽的梯形&#xff09; 最小的K个元素 > 大根堆&#xff08;类似倒三角形&#xff09; 法1&#xff1a;小根堆 class Solution {public int[] topKFrequent(int[] nums, int k) {Map<Integer, Integer> valToC…

Nginx 反向代理+高可用

反向代理主机IP&#xff1a;10.0.0.20 WEB01主机IP : 10.0.0.22 WEB02主机IP : 10.0.0.23 反向代理主机配置&#xff1a;10.0.0.20 [rootnode1 html]# vim /etc/nginx/conf.d/web.conf server {listen 80;server_name www.wanglan.com;location / {proxy_pass http://1…

DNS系统服务器端口是,dns端口号是多少默认

●在Windows 95&#xff0f;98、Windows NT、UNIX及Linux环境下&#xff0c;均可使用TCP/P联网&#xff0c;请回答下列问题。在Windows 95&#xff0f;98平台下安装与配置TCP&#xff0f;IP的顺序应该是&#xff1a;安装网络适配器 (40) &#xff0c;安装TCP/IP协议&#xff0c…

c#switch语句判断成绩_C#程序流程控制 知多少?

最近发现读书是个慢过程&#xff0c;很难一口吃个胖子&#xff0c;尤其读这种技术类的书&#xff0c;需要细嚼慢咽的精读&#xff0c;很耐心的读。迄今为止我一个像样的C#程序都没有做过&#xff0c;是小白中的小白&#xff0c;这倒不影响什么&#xff0c;毕竟在曾经学过C语言的…

无穷存在吗?

来源&#xff1a;数学职业家无穷大的存在问题是一个令人惊讶的古老问题。亚里士多德首先引入了一个明确的区分&#xff0c;以帮助理解它的意义。他区别两种不同的无穷大。其中之一&#xff0c;他称之为潜在无穷大&#xff1a;这种无限大刻画了无止境的宇宙或一个永无休止的名单…

jquery.tmplate使用心得

jquery.tmplate使用心得 jquery.tmplate使用心得 jquery.tmpl.js&#xff0c;是与jquey共同使用的html模板插件。该插件可通过简单的语法将数据放入到html模板中&#xff0c;可以很好的将数据渲染到页面上。该插件在本项目中使用较多且网上的讲解比较分散&#xff0c;无系统的a…

机器学习虽好,也要看什么场合!

来源&#xff1a;AI科技评论编译 | 王念编辑 | 丛末身为AI时代的程序猿&#xff0c;我们天生就对数据集敏感。因此&#xff0c;当我们拿到一批真实数据时&#xff0c;激动之情肯定溢于言表&#xff01;举例来说&#xff0c;我们可能拿到了一组患者正确药量的数据集&#xff0c;…

CVTE前端笔试编程题

这些题目是做完笔试之后&#xff0c;在别的地方找到的&#xff0c;现在附上。 1.(1)这题考察的怎么把参数转换为数组&#xff0c;然后再截取你想要的位数。 function C(){var a_argsArray.prototype.slice.call(argumens,0,2);var b_argsArray.prototype.slice.call(arguments,…

springboot 引入jdbc驱动_SpringBoot+MyBatis+Druid整合demo

最近自己写了一个SpringBootMybatis&#xff08;generator&#xff09;druid的demo1. mybatisgenerator逆向工程生成代码1. pom文件pom文件添加如下内容&#xff0c;引入generator插件<!-- mybatis代码生成插件 --><!--如果使用的mysql驱动是6.x的&#xff0c;那就无法…

盘点|世界流行的十大机械工程设计软件,你会用几种?

来源&#xff1a;自机械前线机械设计是机械生产的第一步&#xff0c;是决定机械性能的最主要的因素。为了满足机械产品性能的高要求&#xff0c;在机械设计中大量采用计算机技术进行辅助设计和系统分析&#xff0c;以下是目前世界上流行的十款式机械工程设计软件。1、Autodesk …

【Java】JavaIO(一)、基础知识

一、常用概念介绍 Java的IO&#xff0c;实现输入输出的基础&#xff0c;可以方便的实现数据的输入输出 二、流的分类 1. 按照流向来分&#xff1a; a). 输入流&#xff1a;向应用程序输 b). 输出流&#xff1a;从应用程序中输出 输入输出流是站在程序的角度来说的&#xff0c;只…

SpaceX再发射58颗星链卫星 总数达到538颗

来源&#xff1a;网易智能据外媒报道&#xff0c;在距离上次星链&#xff08;Starlink&#xff09;卫星发射仅仅10天后&#xff0c;美国太空探索技术公司SpaceX于当地时间周六再次发射了最新一批星链卫星。与以往每批发射60颗星链卫星不同的是&#xff0c;SpaceX此次只发射了58…

MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)(转)

阅读目录 一、MVC原理解析 1、MVC原理二、HttpHandler 1、HttpHandler、IHttpHandler、MvcHandler的说明2、IHttpHandler解析3、MvcHandler解析三、HttpModule 1、HttpModule能干什么2、HttpModule的使用3、HttpModule和HttpHandler如何区分4、UrlRoutingModule解析 四、总结正…

python中的画布背景设置_教你用python画图—Turtle详细教程

Turtle模块绝对是吸引非专业代码开发者人员学习python入门的好工具通过turtle几行代码的执行软件就会画出漂亮的图形&#xff0c;美观而且有成就感&#xff0c;这样一下子对python编程就产生了兴趣。这些漂亮的图形如三角形、五角星、机器猫等。在写代码的时候改变几个参数&…

城市大脑,是工程问题,但首先是基础科学问题

2020年&#xff0c;在5G&#xff0c;大数据&#xff0c;人工智能、区块链、新基建等一轮轮科技浪潮下&#xff0c;城市大脑开始逐步成为新的城市建设和前沿科技热点。到2020年6月已经有近500多个城市宣布建设“城市大脑”&#xff0c;包括阿里&#xff0c;华为&#xff0c;百度…

JOptionPane弹框常用实例

最近在做swing程序中遇到使用消息提示框的&#xff0c;JOptionPane类其中封装了很多的方法。 很方便的&#xff0c;于是就简单的整理了一下。 1.1 showMessageDialog 显示一个带有OK 按钮的模态对话框。 下面是几个使用showMessageDialog 的例子&#xff1a; Java代码 JOption…