一:打开文件

open(name,mode,[bufferSize])

name:文件路径

mode:文件打开方式

二:文件读取

read()方法:可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示。

readline([size]):如果不传参,一次默认读取一行。如果size<一行长度,则读取size个字节。如果size>一行长度,则只读取一行。

readlines():一次读取io.DEFAULT_BUFFER_SIZE行,约586行,以字符串数组的形式返回读取结果。

迭代读取:可以使用iter(file)函数把打开的文件转换为可迭代对象,然后有for...in 迭代访问,每次迭代读取一行。

file=open("filename.txt",'r+')
iter_f=iter(file)
for str in iter_f:
使用str

三:文件写入

write(str):把str写入文件。注意:必须是写字符串。如果写其他内容,请转换为字符串再写入。

writelines(some_str):参数可以是字符串元组、或者可迭代的字符串对象

写缓存与写磁盘:

在调用了write(str)/writelines(some_str)后,只是把写的内容写入到了内存中,此时还没有更新到文件。

需要显式 f.flush()或f.close()强制把内存中的缓存数据刷入磁盘才可以把数据写入磁盘中。

当写入缓存中的数据大于缓冲区容量时,Python解释器会自动刷新缓冲区把数据写入磁盘,缓冲区大小为155648字节。

四:文件指针与随机读写

在Python中,写入数据后不能立即读取,必须关闭文件重写打开才可以;并且读取过的内容,不能再次读取到。这是因为文件指针移动的原因:文件打开时,文件指针指向文件开头,此时执行read/write操作会移动文件指针,进行读写。一次读写完成后,指针会停留在该次操作的结束处。下一次调用读写时,会接着上次停止的地方继续移动文件指针进行读写。

随机读写的实现:了解了文件指针的移动原理后,我们就可以自己控制指针的移动,去读写文件中我们想要操作的位置了。

文件指针移动指令:file.seek(偏移量,起点位置)

起点位置有三种:os.SEEK_SET(文件开头)、os.SEEK_END(文件结尾)、os.SEEK_CUR(文件指针当前位置)

偏移量:可以是正数,也可以是负数。正数下移,负数前移。如果移动范围超过文件范围则报错。

五:文件关闭

f.close()

文件操作完毕要关闭的原因:

1:强制把写入文件的数据刷入磁盘

2:系统中允许每个进程同时打开的文件数是有限的

Python学习笔记六:文件处理的更多相关文章

  1. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  2. Python学习笔记六--文件和输入输出

    6.1文件对象 所有Python对文件的操作都是基于对文件对象的操作.那么就从文件对象的创建说起.open()[file()]提供初始化输入输出的接口.open()成功打开文件时会返回一个文件对象. ...

  3. Python学习笔记六

    Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...

  4. Python学习笔记之文件处理

    1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...

  5. [Python学习笔记]组织文件

    shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...

  6. python学习笔记(11):文件的访问与函数式编程

    一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...

  7. Python学习笔记015——文件file的常规操作之一(文本文件)

    1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...

  8. python学习笔记(7)文件的访问与函数式编程

    一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...

  9. python学习笔记六 面向对象相关下(基础篇)

    面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以将多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...

随机推荐

  1. 《TCP/IP网络编程》

    <TCP/IP网络编程> 基本信息 作者: (韩)尹圣雨 译者: 金国哲 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115358851 上架时间:2014-6- ...

  2. Pycharm中不支持中文编码的解决方案。Pycharm中文报错。 Pycharm出现的部分快捷键无效及解决办法

    Pycharm中不支持中文编码的解决方案.Pycharm中文报错. 1. 打开Pycharm ---->  File ----> Default setting ------> Ed ...

  3. 在ubuntu中搜索文件或文件夹的方法

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/dcrmg/article/details/78000961 1. whereis+文件名 用于程序名的搜索 ...

  4. 单因素方差分析(One Way ANOVA)

    Analysis of variance (ANOVA) is a collection of statistical models and their associated estimation p ...

  5. [转]php判断一个数组是另一个数组的子集

    FROM : http://blog.csdn.net/lcion/article/details/8985220 今天完成一个算法的过程中,有几个需求模块,其中就有判断$a数组是否是$b数组的子集, ...

  6. ASP.NET Core 中间件 中间件(Middleware)和过滤器(Filter)的区别

    https://www.cnblogs.com/savorboard/p/5586229.html 前言 在上篇文章主要介绍了DotNetCore项目状况,本篇文章是我们在开发自己的项目中实际使用的, ...

  7. Swift3.0:照片选择

    一.介绍 图片选择或者拍照功能: 1.选择相册中的图片或是拍照,都是通过UIImagePickerController控制器实例化一个对象,然后通过self.presentViewController ...

  8. SD内存卡禁止写入只读怎么办?另类SPI模式修复坏卡

    这几天很郁闷,买的32G TF卡老出问题,三星的标,不知道是不是正品,标称C10,且不说是不是真的三星和真的C10,反正测试一下容量倒是真的,价格么也比较亲民,好像是69块?   哎,可惜呀,好景不长 ...

  9. Cesium原理篇:3D Tiles(1)渲染调度【转】

    Cesium在2016年3月份左右推出3D Tiles数据规范,在glTF基础上提供了LOD能力,定位就是Web环境下海量三维模型数据.虽然目前3D Tiles还是Beta阶段,有不少硬伤,但3D T ...

  10. PyTorch保存模型与加载模型+Finetune预训练模型使用

    Pytorch 保存模型与加载模型 PyTorch之保存加载模型 参数初始化参 数的初始化其实就是对参数赋值.而我们需要学习的参数其实都是Variable,它其实是对Tensor的封装,同时提供了da ...