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字符串中查找子串小技巧
Apr 10 Python
浅谈python中set使用
Jun 30 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
Python实现决策树C4.5算法的示例
May 30 Python
Python装饰器的执行过程实例分析
Jun 04 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
Python箱型图绘制与特征值获取过程解析
Oct 22 Python
pytorch 实现打印模型的参数值
Dec 30 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
使用AJAX和Django获取数据的方法实例
Oct 25 Python
python中reload重载实例用法
Dec 15 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调用三种数据库的方法(1)
2006/10/09 PHP
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
javascript之锁定表格栏位
2007/06/29 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
javascript JSON操作入门实例
2010/04/16 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
python实现猜数字游戏
2020/03/25 Python
python创建文本文件的简单方法
2020/08/30 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
生物科学系大学生的自我评价
2013/12/20 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
买房协议书范本
2014/10/23 职场文书
清洁工工作总结
2015/08/11 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS
Python天气语音播报小助手
2021/09/25 Python
在python中读取和写入CSV文件详情
2022/06/28 Python