python

xiaoxiao2021-02-28  31

文件内存储的内容是111111 #打开文件open f = open('yesterday.txt',encoding='utf-8')#文件句柄 data = f.read() data1 = f.read() print(data) print('------',data1) 运行结果: 111111 ------ 讲解:

通过open打开文件,读取文件中的内容,因为windows 采用的gb123 编码格式 所以转码,读取时是光标的形式读取,所以data运行后未输出内容

opend中w属性: #打开文件open #w写一个文档,所以会覆盖之前的文档 f = open('yesterday.txt','w',encoding='utf-8')#文件句柄 #写内容 data =f.write("新内容用")

运行后文件中的原内容被覆盖掉,w覆盖原内容用来写文件内容的

opend中a属性:

#打开文件open #w不会覆盖内容在光标后加入内容 f = open('yesterday.txt','a ',encoding='utf-8')#文件句柄 #写内容 data =f.write("新内容用")运行后 会在光标后添加内容

readline 按行读取文件内容:

#读取五行内容 for i in range(5): data = f.readline() print(data.strip())

readlines 读取文件内容变成list

#打开文件open #w写一个文档,所以会覆盖之前的文档 f = open('yesterday.txt','r',encoding='utf-8')#文件句柄 #第2行的时候不打印 data = f.readlines() for index,temp in enumerate(data): if index==3: continue print(temp.strip()) 按行读取效率最高的方法:

#打开文件open f = open('yesterday.txt','r',encoding='utf-8')#文件句柄 #按行读取,这种读取效率最高 for line in f: print(line.strip())

tell/ seek 读取光标位置,调整光标位置

#打开文件open #w写一个文档,所以会覆盖之前的文档 f = open('yesterday.txt','r',encoding='utf-8')#文件句柄 #读取光标的位置tell print(f.readline()) print(f.tell()) #seek查找 可以移动光标 print(f.seek(0))encoding文件编码

flush()刷新实时像硬盘刷新类似进度条的小代码

import sys import time for i in range(20): sys.stdout.write("+++++") sys.stdout.flush() time.sleep(0.5) r+ 读写,写的时候在最后一行

w+写读,写的时候默认在最后一行

a+追加写,写的时候在最后一行 

rb/wb 二进制

转载请注明原文地址: https://www.6miu.com/read-1000147.html

最新回复(0)