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 25 Python
浅谈Python中的数据类型
May 05 Python
python绘制铅球的运行轨迹代码分享
Nov 14 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
python自动发送邮件脚本
Jun 20 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
详解Python静态网页爬取获取高清壁纸
Apr 23 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
Aug 12 Python
Pytorch实现LSTM和GRU示例
Jan 14 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
Django使用channels + websocket打造在线聊天室
May 20 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 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
星际RPG字典
2020/03/04 星际争霸
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
vue.js中$set与数组更新方法
2018/03/08 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
JS运算符优先级与表达式示例详解
2020/09/04 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
python去除所有html标签的方法
2015/05/05 Python
pytorch自定义二值化网络层方式
2020/01/07 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
详解python程序中的多任务
2020/09/16 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
志愿者服务感言
2014/02/27 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
增员口号大全
2014/06/18 职场文书
刑事附带民事上诉状
2015/05/23 职场文书
尼克胡哲观后感
2015/06/08 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
Python答题卡识别并给出分数的实现代码
2021/06/22 Python
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android