Python文件操作及内置函数flush原理解析


Posted in Python onOctober 13, 2020

1、打开文件得到文件句柄并赋值给一个变量

2、通过句柄对文件进行操作

3、关闭文件

示例文件

'你好呀'
我是于超

再见

文件操作基本流程

f=open('chenli',encoding='utf-8')
first_line=f.readline()
print('第一行是:',first_line)

print('我是分割线'.center(9,'-')) #9代表字符串总共9长度
data=f.read() #读取所有内容
print(data)

Python文件操作及内置函数flush原理解析

#不指定打开编码,即python解释器默认编码,python2.*为ascii,python3.*为utf-8
f=open('chenli.txt')
f.read()

f=open('chenli.txt',encoding='utf-8')
f.read()

2.3 文件打开模式

文件句柄 = open ('文件路径','模式')

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

打开文件的模式有:

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
  • w,只写模式【不可读;不存在则创建;存在则清空内容】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【可读; 不存在则创建;存在则只追加内容】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

"b"表示以字节的方式操作

  • rb 或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

2.4 文件内置函数flush

flush原理:

  • 文件操作是通过软件将文件从硬盘读到内存
  • 写入文件的操作也都是存入内存缓冲区buffer(内存速度快于硬盘,如果写入文件的数据都从内存刷到硬盘,内存与硬盘的速度延迟会被无限放大,效率变低,所以要刷到硬盘的数据我们统一往内存的一小块空间即buffer中放,一段时间后操作系统会将buffer中数据一次性刷到硬盘)
  • flush即,强制将写入的数据刷到硬盘

滚动条:

import sys,time
for i in range(10):
  sys.stdout.write('#')
  sys.stdout.flush()
  time.sleep(0.2)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python自动化测试之连接几组测试包实例
Sep 28 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
Django框架教程之正则表达式URL误区详解
Jan 28 Python
python操作mysql代码总结
Jun 01 Python
python对离散变量的one-hot编码方法
Jul 11 Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 Python
python实现批量修改服务器密码的方法
Aug 13 Python
基于plt.title无法显示中文的快速解决
May 16 Python
PyTorch-GPU加速实例
Jun 23 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
May 27 Python
怎么用Python识别手势数字
Jun 07 Python
Python机器学习之底层实现KNN
Jun 20 Python
Django如何实现防止XSS攻击
Oct 13 #Python
5款实用的python 工具推荐
Oct 13 #Python
Python内置函数及功能简介汇总
Oct 13 #Python
Python pymysql模块安装并操作过程解析
Oct 13 #Python
Python安装并操作redis实现流程详解
Oct 13 #Python
python按照list中字典的某key去重的示例代码
Oct 13 #Python
Python importlib模块重载使用方法详解
Oct 13 #Python
You might like
php创建sprite
2014/02/11 PHP
php事务处理实例详解
2014/07/11 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
PHP实现浏览器格式化显示XML的方法示例
2019/01/22 PHP
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
英语感恩演讲稿
2014/01/14 职场文书
运动会入场解说词300字
2014/01/25 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
swagger如何返回map字段注释
2021/07/03 Java/Android
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers