文件 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)) #保存入结果文件