read/readline/readlines的用法简介-创新互联

python中读取文件的三种方法read(),readline(),readlines()

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的未央网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

测试文件tb.txt文件的内容:

Oracle

MySQL

PostgreSQL

Redis

MongoDB

read

返回的是字符串类型,默认读取文件的全部内容;

file1 = open('tb.txt', 'r') content = file1.read() file1.close print(content) print(type(content)) 输出结果: Oracle MySQL PostgreSQL Redis MongoDB

readline

返回的是字符串类型,默认每次只加载读取一行;

file1 = open('tb.txt', 'r') content1 = file1.readline() file1.close print(type(content1)) print(content1) 输出结果: Oracle from __future__ import print_function file1 = open('tb.txt', 'r') content = file1.readline() print(type(content)) while content:   print(content, end='')   content = file1.readline() file1.close 输出结果: Oracle MySQL PostgreSQL Redis MongoDB

readlines

返回的是list类型,默认返回的是文件中全部内容;

file1 = open('tb.txt', 'r') content = file1.readlines() file1.close print(type(content)) print(content) 输出结果: ['Oracle\n', 'MySQL\n', 'PostgreSQL\n', 'Redis\n', 'MongoDB']

linecache.getline

返回的是list类型,指定返回某一行;

import linecache content = linecache.getline('tb.txt', 4) print(type(content)) print(content) 输出结果: Redis

总结

read和readlines需要把整个大文件加载到内存中,所以操作大文件比较慢;

而readline是每次只加载一行,占用内存小,所以操作大文件的时候比较快;

linecache.getline可以指定操作的行,效率也还可以;

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:read/readline/readlines的用法简介-创新互联
标题URL:http://hbruida.cn/article/csjdjj.html