python文件读写的函数是open或者file
file_hander = open(filename, mode)
filename可以是文件,也可以是文件的绝对路径。
#!/usr/bin/python
#coding:utf8
#open函数返回一个迭代类型的变量
f_handler = open('/tmp/hello.txt')
for line in f_handler:
print(line),
f_handler.close()
也可以用下面的方法来读取和遍历文件
#!/usr/bin/python
#coding:utf8
# methord 1
fo_handler = open("/tmp/hello.txt", "r")
fr = fo_handler.read() #把所有的内容读为一行
print fr,
fo_handler.close()
print "#1"*30
#methord 2
fo_handler = open("/tmp/hello.txt", "r")
#readlines() #所有的内容生成一个list,每行为list的一个元素
lines = fo_handler.readlines()
for line in lines:
print line, #line末尾已经有换行符了,因此加上逗号
fo_handler.close()
print "#2"*30
#methord 3.1
fo_handler = open("/tmp/hello.txt", "r")
line = fo_handler.readline()
while True:
print line.strip("\n") #去除末尾的换行符,要不然加上print会有两个换行符
line = fo_handler.readline()
if not line:
break
fo_handler.close()
print "#3"*30
#methord 3.2 readline()遍历文件的第二个方法是什么呢?暂时还没有想到
fo_handler = open("/tmp/hello.txt", "r")
while True:
line = fo_handler.readline()
if line:
print line,
else:
break
fo_handler.close()
print "#3.2"*30
#生成结果
1 hello world
2 hello world
3 hello world
4 hello world
5 hello world
#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1
1 hello world
2 hello world
3 hello world
4 hello world
5 hello world
#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2
1 hello world
2 hello world
3 hello world
4 hello world
5 hello world
#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3
1 hello world
2 hello world
3 hello world
4 hello world
5 hello world
#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2#3.2
r+与w+的区别
r+ 可读可写,若文件不存在,报错。写入是在文件的开头写入,替换掉相同数量的写入的字符。与其说是写入,不如说是文件开始处替换。
w+ 可读可写,若文件不存在,创建 文件,写入时先清空原文件,相当于linux shell中的 > 符号