Python 文件操作(一)

来源:互联网 发布:java培训后工资多少 编辑:程序博客网 时间:2024/06/06 04:14

简单读取

f = open(" ",'r',encoding='utf-8')data1 = f.read()data2 = f.read()print("####data1####\n",data1)print("----data2----",data2)

只有data1数据,因为光标读取到最后。不能同时写f.write(),‘w’是写,很危险,如果open已存在的文件,就覆盖了新的,原来内容全无。’a’是追加内容,但还是不能读。

文件行读取

*前几行读取*

f = open(" ", 'r', encoding='utf-8')for i in range(2):    print(f.readline())f.close()

*指定行读取*

f = open("D:/2345Downloads/yesterday2", 'r', encoding='utf-8')for i in range(5):    f.readline()    if i == 4:        print(f.readline())f.close()

*指定行修改*

f = open("yesterday2", 'r', encoding='utf-8')for index, line in enumerate(f.readlines()):    if index == 5:        print("。。。。。。。。。。。。")    else:        print(line.strip())f.close()

注意:f.readlines只能读小文件,大文件不行,因为它是一次性读到内存里

改进的文件读取

*一行读取释放*

f = open("yesterday2", 'r', encoding='utf-8')count = 0for line in f:    count += 1    if count == 5:        print("-----line-----".center(50,"*"))    else:        print(line.strip())f.close()

或者

f = open("D:/yesterday2", 'r', encoding='utf-8')count = 0for line in f:    count += 1    if count == 5:        print("-----line-----".center(50,"*"))        continue#跳出这一次循环,后面不执行;break跳出全部循环    print(line.strip())f.close()

因为文件变成一种迭代器的形式

原创粉丝点击