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设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
django实现登录时候输入密码错误5次锁定用户十分钟
Nov 05 Python
Python爬取十篇新闻统计TF-IDF
Jan 03 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
python的继承知识点总结
Dec 10 Python
Python实现Linux监控的方法
May 16 Python
python自动下载图片的方法示例
Mar 25 Python
Django 5种类型Session使用方法解析
Apr 29 Python
Django的ListView超详细用法(含分页paginate)
May 21 Python
Python生成器next方法和send方法区别详解
May 30 Python
python中yield的用法详解
Jan 13 Python
Pandas数据分析的一些常用小技巧
Feb 07 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
yii2中使用Active Record模式的方法
2016/01/09 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
jquery 输入框数字限制插件
2009/11/10 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
浅析Python中else语句块的使用技巧
2016/06/16 Python
Django返回json数据用法示例
2016/09/18 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
Python装饰器语法糖
2019/01/02 Python
深入理解Python异常处理的哲学
2019/02/01 Python
python如何统计代码运行的时长
2019/07/24 Python
python实现车牌识别的示例代码
2019/08/05 Python
Django中modelform组件实例用法总结
2020/02/10 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
英语演讲稿范文
2014/01/03 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python
Golang 切片(Slice)实现增删改查
2022/04/22 Golang