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 相关文章推荐
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
Python OpenCV 直方图的计算与显示的方法示例
Feb 08 Python
python SMTP实现发送带附件电子邮件
May 22 Python
python os用法总结
Jun 08 Python
删除python pandas.DataFrame 的多重index实例
Jun 08 Python
详解Django解决ajax跨域访问问题
Aug 24 Python
Django框架实现的简单分页功能示例
Dec 04 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
Pytorch转tflite方式
May 25 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 Python
Python生成九宫格图片的示例代码
Apr 14 Python
教你怎么用python selenium实现自动化测试
May 27 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
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
node创建Vue项目步骤详解
2020/03/06 Javascript
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
python避免死锁方法实例分析
2015/06/04 Python
python中引用与复制用法实例分析
2015/06/04 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
PHP面试题-$message和$$message的区别
2015/12/08 面试题
历史系毕业生自荐信
2013/10/28 职场文书
大二学习计划书范文
2014/04/27 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
生产助理岗位职责
2014/06/18 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
单位工作证明书格式
2014/10/04 职场文书
胡桃夹子观后感
2015/06/11 职场文书
付款证明模板
2015/06/19 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫
MySQL导致索引失效的几种情况
2022/06/25 MySQL