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中实现最小二乘法思路及实现代码
Jan 04 Python
详解python函数传参是传值还是传引用
Jan 16 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
Python获取系统所有进程PID及进程名称的方法示例
May 24 Python
python实现输入数字的连续加减方法
Jun 22 Python
简单了解python关系(比较)运算符
Jul 08 Python
python异步编程 使用yield from过程解析
Sep 25 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
Python csv文件记录流程代码解析
Jul 16 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 Python
关于Python中*args和**kwargs的深入理解
Aug 07 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 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 获取当前访问的url文件名的方法小结
2010/02/08 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
php中define用法实例
2015/07/30 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
Javascript实现的分页函数
2007/02/07 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
超级搞笑检讨书
2014/01/15 职场文书
怎样写好创业计划书的内容
2014/02/06 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
公司口号大全
2014/06/11 职场文书
小学课外活动总结
2014/07/09 职场文书
男性健康日的活动方案
2014/08/18 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
财务会计岗位职责
2015/02/03 职场文书
新闻通讯稿范文
2015/07/22 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang
Python max函数中key的用法及原理解析
2021/06/26 Python
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python