read/readline/readlines的用法简介

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

创新互联-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、成都服务器托管、等保安全、私有云建设等企业级互联网基础服务,沟通电话:028-86922220


测试文件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可以指定操作的行,效率也还可以;


分享文章:read/readline/readlines的用法简介
本文URL:http://ybzwz.com/article/pjhhhi.html