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中使用PIPE操作Linux管道
Feb 04 Python
python判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
Python之Web框架Django项目搭建全过程
May 02 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
python中实现数组和列表读取一列的方法
Apr 03 Python
Python迭代器定义与简单用法分析
Apr 30 Python
Python字符串逆序的实现方法【一题多解】
Feb 18 Python
python实现维吉尼亚加密法
Mar 20 Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
Django-imagekit的使用详解
Jul 06 Python
python基于socket模拟实现ssh远程执行命令
Dec 05 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基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
Jquery cookie操作代码
2010/03/14 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
layer弹出层框架alert与msg详解
2017/03/14 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Python之str操作方法(详解)
2017/06/19 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python中修改字符串的四种方法
2018/11/02 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
python定义类的简单用法
2020/07/24 Python
五种Python转义表示法
2020/11/27 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
python实现发送邮件
2021/03/02 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
2014年小学工作总结
2014/11/26 职场文书
教师节联欢会主持词
2015/07/04 职场文书
社区低保工作总结2015
2015/07/23 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js