天天看点

python中readlines_python读文件的三个方法read()、readline()、readlines()详解

文件 runoob.txt 的内容如下:1:www.runoob.com

2:www.runoob.com

3:www.runoob.com

4:www.runoob.com

5:www.runoob.com

循环读取文件的内容:#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 打开文件

fo = open("runoob.txt", "rw+")

print "文件名为: ", fo.name

line = fo.readline()

print "读取第一行 %s" % (line)

line = fo.readline(5)

print "读取的字符串为: %s" % (line)

# 关闭文件

fo.close()

以上实例输出结果为:文件名为: runoob.txt

读取第一行 1:www.runoob.com

读取的字符串为: 2:www# -*- coding:utf-8 -*-

"""

1、读取文件的三个方法:read()、readline()、readlines()

2、三个方法均可接受一个变量用以限制每次读取的数据量,通常不使用该变量。

"""

"""

关于read()方法:

1、读取整个文件,将文件内容放到一个字符串变量中

2、如果文件大于可用内存,不可能使用这种处理

"""

file_object = open("test.py",'r') #创建一个文件对象,也是一个可迭代对象

try:

all_the_text = file_object.read() #结果为str类型

print (type(all_the_text))

print ("all_the_text=",all_the_text)

finally:

file_object.close()

"""

关于readline()方法:

1、readline()每次读取一行,比readlines()慢得多

2、readline()返回的是一个字符串对象,保存当前行的内容

"""

file_object1 = open("test.py",'r')

try:

while True:

line = file_object1.readline()

if line:

print ("line=",line)

else:

break

finally:

file_object1.close()

"""

关于readlines()方法:

1、一次性读取整个文件。

2、自动将文件内容分析成一个行的列表。

"""

file_object2 = open("test.py",'r')#以读方式打开文件

result = list()

try:

lines = file_object2.readlines()

print ("type(lines)=", type(lines)) # type(lines)=

for line in lines: # 依次读取每行

line = line.strip() # 去掉每行头尾空白

if not len(line) or line.startswith('#'): # 判断是否是空行或注释行

continue # 是的话,跳过不处理

result.append(line) # 保存

result.sort() # 排序结果

print(result)

finally:

file_object2.close()

open('test_result.py', 'w').write('%s' % '\n'.join(result)) #保存入结果文件