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 02 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
python 垃圾收集机制的实例详解
Aug 20 Python
python中 logging的使用详解
Oct 25 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
python递归实现快速排序
Aug 18 Python
对python实时得到鼠标位置的示例讲解
Oct 14 Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 Python
Pandas之Fillna填充缺失数据的方法
Jun 25 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
使用celery和Django处理异步任务的流程分析
Feb 19 Python
python cv2图像质量压缩的算法示例
Jun 04 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
PHP array操作10个小技巧分享
2011/06/23 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
yii数据库的查询方法
2015/12/28 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
一段批量给页面上的控件赋值js
2010/06/19 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
javascript定义变量时加var与不加var的区别
2014/12/22 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
用Python实现命令行闹钟脚本实例
2016/09/05 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
英国最红的高街时尚品牌:Topshop
2016/08/05 全球购物
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
介绍一下linux的文件系统
2015/10/06 面试题
硕士研究生自我鉴定范文
2013/12/27 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
z-index不起作用
2021/03/31 HTML / CSS
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js