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写CUDA程序的方法
Mar 27 Python
python实现用户管理系统
Jan 10 Python
Django如何配置mysql数据库
May 04 Python
Python爬虫包BeautifulSoup实例(三)
Jun 17 Python
django利用request id便于定位及给日志加上request_id
Aug 26 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
使用Python实现牛顿法求极值
Feb 10 Python
如何创建一个Flask项目并进行简单配置
Nov 18 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
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
PHP中的类型约束介绍
2015/05/11 PHP
PHP获取当前日期及本周一是几月几号的方法
2017/03/28 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
jquery 使用点滴函数代码
2011/05/20 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
python global关键字的用法详解
2019/09/05 Python
python实现智能语音天气预报
2019/12/02 Python
Python assert关键字原理及实例解析
2019/12/13 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
大学生就业自荐信
2013/10/26 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
会计稽核岗位职责
2015/04/13 职场文书
工程款申请报告
2015/05/15 职场文书
开学典礼观后感
2015/06/15 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL