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中Django框架下的staticfiles使用简介
May 30 Python
使用python生成目录树
Mar 29 Python
TensorFlow打印tensor值的实现方法
Jul 27 Python
Python获取网段内ping通IP的方法
Jan 31 Python
对Django外键关系的描述
Jul 26 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 Python
推荐值得学习的12款python-web开发框架
Aug 10 Python
Python实现快速大文件比较代码解析
Sep 04 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
Nov 19 Python
pandas map(),apply(),applymap()区别解析
Feb 24 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中使用XML
2006/10/09 PHP
用php解析html的实现代码
2011/08/08 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
eclipse php wamp配置教程
2016/06/30 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
2017/01/16 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
Javascript核心读书有感之词法结构
2015/02/01 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
Python读大数据txt
2016/03/28 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
python实现简单加密解密机制
2019/03/19 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Django 重写用户模型的实现
2019/07/29 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
出国留学经济担保书
2014/04/01 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
2015教师年度工作总结范文
2015/04/07 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
vscode内网访问服务器的方法
2022/06/28 Servers