python读取文件的几种形式
1. enumerate 读取文件行号和内容处理数据时候,需要得到数据所在和行号,使用enumerate时便捷的方法:注:文件不宜过大,读个配置文件还是不错wh@WHdeMacBook-Pro:/tmp$cat 001.py#脚本内容#!/usr/bin/env python# -*- coding:utf-8 -*-file = open('001.txt','r')for ...
·
1. enumerate 读取文件行号和内容
处理数据时候,需要得到数据所在和行号,使用enumerate时便捷的方法:
注:文件不宜过大,读个配置文件还是不错
wh@WHdeMacBook-Pro:/tmp$cat 001.py #脚本内容
#!/usr/bin/env python
# -*- coding:utf-8 -*-
file = open('001.txt','r')
for (num,value) in enumerate(file):
print "line num is: ",num,"content:",value
file.close()
wh@WHdeMacBook-Pro:/tmp$
wh@WHdeMacBook-Pro:/tmp$cat 001.txt #读取文件内容
用起伏的背影 挡住哭泣的心
有些故事 不必说给 每个人听
许多眼睛 看的太浅太近
错过我没被看见 那个自己
用简单的言语 解开超载的心
有些情绪 是该说给 懂的人听
你的热泪 比我激动怜惜
我发誓要更努力 更有勇气
wh@WHdeMacBook-Pro:/tmp$/usr/bin/python 001.py #执行结果
line num is: 0 content: 用起伏的背影 挡住哭泣的心
line num is: 1 content: 有些故事 不必说给 每个人听
line num is: 2 content: 许多眼睛 看的太浅太近
line num is: 3 content: 错过我没被看见 那个自己
line num is: 4 content: 用简单的言语 解开超载的心
line num is: 5 content: 有些情绪 是该说给 懂的人听
line num is: 6 content: 你的热泪 比我激动怜惜
line num is: 7 content: 我发誓要更努力 更有勇气
2.read () 以字符串形式返回整个文件
关于read()方法:
1、读取整个文件,将文件内容放到一个字符串变量中
2、如果文件大于可用内存,不可能使用这种处理
wh@WHdeMacBook-Pro:/tmp$cat 002.py #脚本内容
#!/usr/bin/env python
# -*- coding:utf-8 -*-
file = open("001.txt",'r')
try:
text = file.read()
print type(text)
print "text=",text
finally: #finally
file.close()
wh@WHdeMacBook-Pro:/tmp$/usr/bin/python 002.py
<type 'str'>
text= 用起伏的背影 挡住哭泣的心
有些故事 不必说给 每个人听
许多眼睛 看的太浅太近
错过我没被看见 那个自己
用简单的言语 解开超载的心
有些情绪 是该说给 懂的人听
你的热泪 比我激动怜惜
我发誓要更努力 更有勇气
3.readline() 返回一行数据
关于readline()方法:
1、readline()每次读取一行,比readlines()慢得多
2、readline()返回的是一个字符串对象,保存当前行的内容
wh@WHdeMacBook-Pro:/tmp$cat 003.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
file = open("001.txt",'r')
try:
while True:
line = file.readline() #一行一行往下读
if line:
print "line=",line
else: #读完,跳出
break
finally: #finally关闭文件
file.close()
wh@WHdeMacBook-Pro:/tmp$/usr/bin/python 003.py #执行结果
line= 用起伏的背影 挡住哭泣的心
line= 有些故事 不必说给 每个人听
line= 许多眼睛 看的太浅太近
line= 错过我没被看见 那个自己
line= 用简单的言语 解开超载的心
line= 有些情绪 是该说给 懂的人听
line= 你的热泪 比我激动怜惜
line= 我发誓要更努力 更有勇气
4.readlines() 返回列表
关于readlines()方法:
1、一次性读取整个文件。
2、自动将文件内容分析成一个行的列表。
wh@WHdeMacBook-Pro:/tmp$cat 004.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
file = open("001.txt",'r')
try:
lines = file.readlines()
print "type(lines)=",type(lines)
for line in lines:
print "line=",line
finally:
file.close()
wh@WHdeMacBook-Pro:/tmp$/usr/bin/python 004.py
type(lines)= <type 'list'>
line= 用起伏的背影 挡住哭泣的心
line= 有些故事 不必说给 每个人听
line= 许多眼睛 看的太浅太近
line= 错过我没被看见 那个自己
line= 用简单的言语 解开超载的心
line= 有些情绪 是该说给 懂的人听
line= 你的热泪 比我激动怜惜
line= 我发誓要更努力 更有勇气
5.with open(“001.txt”,‘r’,encoding=‘utf-8’) as f:
按说with open() as f 与上面不是并列关系,而是用这种形式,会自动close文件,无需”file.close()”,该形式经常与上述几种形式配合使用
详细对比可查看:对比链接
wh@WHdeMacBook-Pro:/tmp$cat 005.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
with open('001.txt', 'r') as f:
print(f.read())
wh@WHdeMacBook-Pro:/tmp$/usr/bin/python 005.py
用起伏的背影 挡住哭泣的心
有些故事 不必说给 每个人听
许多眼睛 看的太浅太近
错过我没被看见 那个自己
用简单的言语 解开超载的心
有些情绪 是该说给 懂的人听
你的热泪 比我激动怜惜
我发誓要更努力 更有勇气
更多推荐
已为社区贡献1条内容
所有评论(0)