flush刷新缓冲区的问题

# ### 文件操作
"""
fp = open("文件名",mode="模式",encoding="utf-8")
fp -> 文件的io对象 (文件句柄)
i => input  输入
o => output 输出
"""# 一.文件的写入
# 1.打开文件
fp = open("ceshi1.txt",mode="w",encoding="utf-8") # 把冰箱门打开# 2.写入内容
fp.write("把大象塞进去") # 把大象放进去# 3.关闭文件
fp.close() # 把冰箱门关上# 二.文件的读取
# 1.打开文件
fp = open("ceshi1.txt",mode="r",encoding="utf-8") #1.打开冰箱门# 2.读取内容
res = fp.read() # 把大象拿出来
print(res)# 3.关闭文件
fp.close() # 把冰箱门关上# 三.字节流的转换
"""
bytes : 是用来传输或者存储的数据格式
b'1234'  b"abcd" b"我爱你" -> b开头的字节流,范围只能是ascii编码如果是中文使用encode 和 decode 来进行转换;
# 将字符串和字节流(Bytes流)类型进行转换 (参数写成转化的字符编码格式)#encode() 编码  将字符串转化为字节流(Bytes流)#decode() 解码  将Bytes流转化为字符串
"""
a = b'1234'
print(a , type(a))strvar = "我爱你"
# encode 编码 -> 变成二进制字节流
res = strvar.encode("utf-8")
print(res , type(res))# decode 解码 =>二进制字节流恢复成原来的字符串
res2 = res.decode("utf-8")
print(res2 , type(res2))# len可以计算字节个数
num = len(res)
print(num) # 9# 一个中文占用3个字节,通过decode 反解出爱这个字
res3 = b"\xe7\x88\xb1".decode("utf-8")
print(res3)#  程序员的表白方式
strvar = "我!是你一辈子也得不到的男人"
strvar2 = strvar.encode()
print(strvar2)# 四.存储二进制字节流
"""不需要指定encoding编码集,否则报错"""
fp = open("ceshi2.txt",mode="wb")
fp.write(strvar2)
fp.close()# 五.读取二进制字节流
fp = open("ceshi2.txt",mode="rb")
res = fp.read()
fp.close()print(res)
# 通过decode反解出字符串
strvar = res.decode()
print(strvar)# 六.复制图片
"""图片,音频,视频"""
# 1.读取原图片所有的内容
fp = open("集合.png",mode="rb")
res = fp.read()
fp.close() # 2.把读取的内容存储到另外一个文件
# fp = open("集合2.png",mode="wb")
# 指定绝对路径(完整路径)
fp = open(r"E:\python31\day8\集合3.png",mode="wb")
fp.write(res)
fp.close()
# ### 文件的扩展模式
# (utf-8编码格式下 默认一个中文三个字节 一个英文或符号 占用一个字节)#read()     功能: 读取字符的个数(里面的参数代表字符个数)#seek()     功能: 调整指针的位置(里面的参数代表字节个数)#tell()     功能: 当前光标左侧所有的字节数(返回字节数)
"""
seek(0)   直接把光标移动到文件开头
seek(0,2) 直接把光标移动到文件末尾
"""# 一.文件的扩展模式
# r+ 先读后写
"""
fp = open("ceshi3.txt",mode="r+",encoding="utf-8")
# 先读
res = fp.read()
print(res)# 后写
fp.write("1234")# 在读
fp.seek(0) # 调整光标位置在开头
res = fp.read()
print(res)
fp.close()
"""# r+ 先写后读
"""
fp = open("ceshi3.txt",mode="r+",encoding="utf-8")
fp.seek(0,2) # 调整光标位置在末尾
fp.write("123")fp.seek(0)
res = fp.read()
print(res)
fp.close()
"""# w+ 可读可写   带w的模式每次打开都会清空文件
"""
fp = open("ceshi4.txt",mode="w+",encoding="utf-8")
fp.write("abc")fp.seek(0)
res = fp.read()
print(res)
fp.close()
"""
# a+ 可读可写
"""文件不存在时,默认创建新的文件"""
"""
fp = open("ceshi5.txt",mode="a+",encoding="utf-8")
fp.write("123")fp.seek(0)
res = fp.read()
print(res)# a模式在写入内容时,会强制把光标移动到最后
fp.seek(1)
fp.write("abc")fp.close()# 如果在r模式内,区别a模式
fp = open("ceshi5.txt",mode="r+",encoding="utf-8")
fp.seek(1)
fp.write("abc")
fp.close()
"""# 二.read  seek tell 三个函数的使用
"""
fp = open("ceshi6.txt",mode="r+",encoding="utf-8")
res = fp.read(3)
print(res)fp.seek(6)
print(fp.read(1))# 计算文件指针左侧所有的字节数
res = fp.tell()
print(res)
fp.close()
"""# 注意点,seek移动中文字节的时候,有可能报错
"""
fp = open("ceshi6.txt",mode="r+",encoding="utf-8")
fp.seek(2)
res = fp.read()
print(res)
fp.close()# print("我".encode())
# b'\xe6\x88\x91'
"""# 三.with语法的使用 (close操作with语法可以自动实现)
with open("集合.png",mode="rb") as fp:res = fp.read()with open(r"E:\python31\day8\集合4.png",mode="wb") as fp:fp.write(res)# 继续优化 合并with
with open("集合.png",mode="rb") as fp1 ,  open(r"E:\python31\day8\集合5.png",mode="wb") as fp2:res = fp1.read()fp2.write(res)
# ### 1.close 文件关闭的意义
"""
# 刷新缓冲区 flush# 当文件关闭的时候自动刷新缓冲区# 当整个程序运行结束的时候自动刷新缓冲区# 当缓冲区写满了  会自动刷新缓冲区# 手动刷新缓冲区
fp = open("ceshi6.txt",mode="r+",encoding="utf-8")
fp.write("zzz")
# 手动把缓冲区里面的内容写入文件当中
fp.flush()while True:passfp.close()
"""# ### 2.文件的相关函数
fp = open("ceshi6.txt",mode="a+",encoding="utf-8")
#readable()     功能: 判断文件对象是否可读
res = fp.readable()
print(res)
#writable()     功能: 判断文件对象是否可写
res = fp.writable()
print(res)#readline()     功能: 读取一行文件内容
"""
参数 > 当前行字符总个数 => 以当前行读取
参数 < 当前行字符总个数 => 以参数的大小来读取字符的个数默认readline 读取一行
"""with open("ceshi7.txt",mode="r+",encoding="utf-8") as fp:    # res = fp.readline(3000)# print(res)# 文件对象fp也是一个可迭代对象'''在遍历文件对象的时候,默认一次拿一行'''for i in fp:print(i)# 读取所有内容
with open("ceshi7.txt",mode="r+",encoding="utf-8") as fp:  # 先读取一行res = fp.readline()# 判断是不是空while res:print(res)res = fp.readline()#readlines()    功能:将文件中的内容按照换行读取到列表当中
lst_new = []
with open("ceshi7.txt",mode="r+",encoding="utf-8") as fp:  lst = fp.readlines()# print(lst) # ['\t窗前明月光\n', '疑是鞋两双\t\t\n', '\t\t举头王明月\n', '\t低头看裤裆']for i in lst:     lst_new.append(i.strip())print(lst_new)  # ['窗前明月光', '疑是鞋两双', '举头王明月', '低头看裤裆']#writelines()   功能:将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串类型的可迭代数据
"""可迭代型数据(容器类型数据,range对象,迭代器)"""
"""
lst = ["春眠不觉晓\n","处处蚊子咬\n","夜来大狗熊\n","一个也跑不了\n"]
# lst = [1,2,3,4] error
with open("ceshi8.txt",mode="w",encoding="utf-8") as fp:fp.writelines(lst)
"""#truncate()     功能: 把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中 (字节)
with open("ceshi8.txt",mode="r+",encoding="utf-8") as fp:fp.truncate(3)

Python学习,Day9(附加flush缓存连接)相关推荐

  1. Python学习教程:用Python破解wifi密码

    Python真的是无所不能,原因就是因为Python有数目庞大的库,无数的现成的轮子,让你做很多很多应用都非常方便.wifi跟我们的生活息息相关,无处不在.今天从WiFi连接的原理,再结合代码为大家详 ...

  2. python之路 mysql 博客园_教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql...

    教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql Easy_install安装MySQLdb 很简单,以至于我不晓得该怎么说.一句话. sodu ...

  3. Python学习笔记-- 字符串和数字的连接

    Python学习笔记– 字符串和数字的连接 >>> s = 'abc' >>> print s + 1Traceback (most recent call las ...

  4. python学习之路:python连接阿里云ODPS

    python学习之路:python连接阿里云ODPS 前言 本人最近在学习使用ODPS,希望把学习过程记录下来,方便自己查阅. 1.安装ODPS pip install ODPS 2.连接阿里云odp ...

  5. 【Python学习笔记】b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类

    [Python学习笔记]原作b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类 跟着b站@同济子豪兄的视频自学写的代码,内容是用pytorch ...

  6. 自学必看篇:从零基础到精通的Python学习路线(附加教程)

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图.我经过多方汇总为大家汇总了一份Python学习 ...

  7. Python学习记录day6-反射、常用模块

    Python学习记录day6-反射.常用模块 @(学习)[python] Python学习记录day6-反射常用模块 反射 常用模块 1 sys System-specific parameters ...

  8. Python学习的十个阶段,学完大成,对应一下看看你自己在哪个阶段

    大家好,我是梦雅. \ 今天给大家整理了Python学习的十个阶段内容,看看你现在正处于哪个阶段,想学习的朋友也可以根据这个阶段规划学习. \ \ \ 阶段一:Python基础[ 初入江湖] \ Li ...

  9. 微软400集python课程-最强福利——来自微软的Python学习教程(开发指南)

    各位小伙伴们,大家有多久没有发现柳猫这么勤奋的更新啦~ 今天给小伙伴们带来微软的官方福利,你没看错,就是来自微软的官方Python学习教程(开发指南)~ 之前微软上线过一套 Python 教程< ...

最新文章

  1. UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能
  2. halcon知识:圆度和紧凑度
  3. Python之woe:woe库的简介、安装、使用方法之详细攻略
  4. 值得向IOS学习的15个APP设计技巧!
  5. linux 内核 scsi底层驱动程序,Linux系统下基于SCST的SCSI_Target驱动设计.doc
  6. 关于Window操作系统中对Oracle的性能监控
  7. 利用MAVEN打包时,如何包含更多的资源文件
  8. org manual翻译--2.1 大纲
  9. 长语音识别体验_如何为语音体验写作
  10. quick 中实现单例
  11. php base64尺寸,PHP base64编码的图像显示不正确
  12. php要懂函数吗,九个你需要知道的PHP函数和功能
  13. 乐高解魔方机器人编程百度网盘_砍人快乐 喜剧 / 惊悚 / 恐怖 网盘资源目录搭建...
  14. 典型的SPI控制器的结构
  15. 读书笔记——数据压缩入门(柯尔特·麦克安利斯)中
  16. 学生信息管理系统问题集锦(二)
  17. python 获取参数模块_Python中获取启动程序时后面跟的参数的方法(optparse模块)【冰斌棒】...
  18. Partition List -- LeetCode
  19. BBU+RRU基本介绍
  20. 手摇计算机发展年代,你知道“手摇式”的计算机吗?你肯定不知道

热门文章

  1. Eclipse运行Spark程序报错No FileSystem for scheme: hdfs
  2. 二维经典晶格模型的TRG方法
  3. 网站管理员总是嫌弃我的图片大,怎么提供适合网页WEB的尺寸图片?
  4. flatMapToInt
  5. SpringBoot中后端数据校验
  6. 新旧节点对比与更新:differNodes
  7. uniapp微信小程序:点击按钮先判断用户是否授权位置信息、用户位置信息授权、进入下一个页面
  8. 宇宙:一些有趣的数字
  9. 计算机中的数据单位(位、字节、字)
  10. Mac M1 安装VM