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异常处理慎用“except:pass”建议
Apr 02 Python
详解python中的json的基本使用方法
Dec 21 Python
Python对CSV、Excel、txt、dat文件的处理
Sep 18 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
超简单使用Python换脸实例
Mar 27 Python
Python全局锁中如何合理运用多线程(多进程)
Nov 06 Python
PythonPC客户端自动化实现原理(pywinauto)
May 28 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 Python
python 合并多个excel中同名的sheet
Jan 22 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 Python
Python天气语音播报小助手
Sep 25 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面向对象 字段的声明与使用
2012/06/14 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
Angular刷新当前页面的实现方法
2018/11/21 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
python regex库实例用法总结
2021/01/03 Python
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
财务部经理岗位职责
2014/02/03 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
个性发展自我评价
2014/02/11 职场文书
竞选学生会主席演讲稿
2014/04/24 职场文书
教室标语大全
2014/06/21 职场文书
买卖合同协议书范本
2014/10/18 职场文书
公司辞职信模板
2015/05/13 职场文书
学生会干部任命书
2015/09/21 职场文书
Oracle 多表查询基本语法实例
2022/04/18 Oracle
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js