2.Python进阶 文本文件的输入与输出

Vamie前辈的博客:http://www.cnblogs.com/vamei/archive/2012/07/03/2574436.html

#!/usr/bin/python

f = open('Summary.csv', 'r+');
#"r" 只读, "r+" 读写
#"w" 写入, "w+" 写读
#"a" 追加, "a" 追加,读写???

lenth = len(f.readlines())
#lines = f.readlines() #读取整个文件,但是反应速度会很慢

f.seek(0, 0) #读过数据后,句柄会到文件的最后,所以要用seek返回到起始位置

#content = f.read(N)          # 读取N bytes的数据
#content = f.readline()       # 读取一行
#content = f.readlines()      # 读取所有行,储存在列表中,每个元素是一行

for i in range (lenth):
    line = f.readline()
    print (i, " ===== ", line)
#f.write('\nzys\n') #写一行,要手动添加换行符
#f.writelines(('\nzys', '\nabc', '\nhello world')) #写多行,里面参数是一个列表或tuple表
f.writelines(['\nzys', '\nabc', '\nhello world']) #写多行,里面参数是一个列表或tuple表,
#写入文件的样式,就是下面排列的状况,包括字符前的空格
f.write(''' 
        aa
        bbb
        fct_log
    ''')    

print (f.tell()) #在多少字节处

f.close() #关闭文件


'''
'b' --> binary 二进制
'r' --> read 读取
'w' --> write 写
'a' --> append 追加

于是: 'rb'就是 以二进制的形式读取文件

注:
'w' 和 'a'的区别:
'w'模式下, 如果文件不存在, 会创建这个文件; 如果文件存在, 则将其覆盖
'a'模式下, 打开一个文件用于追加, 也就是说, 文件指针将会指向文件的结尾; 当然, 如果这个文件不存在, 也是会创建这个文件的.

至于 '+', 这个好理解.
'r+' --> 'wr'
'w+' --> 'wr'

原来是 read, 多了一个 '+', 就又可以read, 又可以write了;
同样, 原来是 write, 多了一个'+', 就又可以 write, 又可以 read了.
'''


posted @ 2015-09-21 23:36  笑面浮屠  阅读(184)  评论(0编辑  收藏  举报