Press "Enter" to skip to content

python逐行读取文件内容

文件1.txt内容:

zhaoyun 85 87
guanyu 87 88
liubei 90 86

方法1: 使用read()方法

特点: 读取整个文件, 将文件内容放到一个字符串变量中
缺点: 如果文件非常大, 尤其是大于内存时, 无法使用read()方法
[code lang=”python”]
>>> a = open("1.txt")
>>>
>>> a.read() #read()直接读取字节到字符串中, 包括了换行符
‘zhaoyun 85 87\nguanyu 87 88\nliubei 90 86\n’
>>>
>>> print a.read() #返回值为空, 说明调用完read()方法以后变量为空了

>>>
>>> a = open("1.txt")
>>>
>>>
>>> print a.read() #调用print方法则自动转换了换行符
zhaoyun 85 87
guanyu 87 88
liubei 90 86

#另一种写法

with open("1.txt") as f:
print f.read()
#运行结果
zhaoyun 85 87
guanyu 87 88
liubei 90 86

方法2: 使用readline()方法

特点: 每调用一次readline()就读取新的一行, 返回的是一个字符串对象
缺点: 比readlines慢
[code lang=”python”]
f = open("1.txt")
line = f.readline()
while line:
print line, # 后面的逗号表示忽略换行符
#print(line, end = ”)  # 在 Python 3 中使用
line = f.readline()

方法3: 使用readline()方法

特点: 一次性读取全部内容,并以列表方式返回
[code lang=”python”]
f = open("1.txt","r")
lines = f.readlines()
for line in lines:
print line,

#简写方法
for line in open("1").readlines():
print line,

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *