with open('abcd.txt') as f:
for line in f:
print(line)
该文件打开方式:f为后期学习中使用的迭代器,每次读取一行 处理结束,释放内存 ,这种操作效率高效;与前期所写的readlines不同,如果文件过大(好几G),会造成程序卡顿和内存溢出。
文件可以通过with操作 同时打开多个文件,且with语句结束,会自动关闭文件 不用手动关闭(close)
with open('abcd.txt') as f,open('cd.txt') as f2:
for line in f:
print(line)
文件的常用操作方法:
.tell 返回光标位置,.seek 修改光标位置,.encoding 查看文件编码,.seekable 判断光标是否可移动(在linux中 光标是不可以移动的),.flush 将缓冲区的内容写入硬盘,.truncate 从头开始截取, rb Python3中网络传输只能以二进制模式传输,音视频文件都是二进制格式,.encode 字符串转二进制编码
修改文件方式:找到某一行 然后replace
以flush为例:刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
import sys , time
for i in range(50):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.1)
输出: 输出间隔以0.1s间隔打印(类似于进度条) 如果没用使用flush 就会在循环结束以后再一起打印
##################################################
获取python3的文件的编码格式
import sys
print(sys.getdefaultencoding())
输出为:
utf-8
六、有兴趣接电子设计相关小型项目的请加下群,每个项目一般在1000元以内,非诚勿扰