open函数:对文件进行读写操作前,先打开文件,获取文件的句柄:

open(file, mode, encoding, buffering)

参数说明

file_name:一个包含了你要访问的文件路径及文件名称的字符串值。尽量使用绝对路径

access_mode:打开文件的方式:这个参数是非强制的,默认文件访问模式为只读(r)

打开文件模式:

r:只读模式

w:只写模式【不可读,不存在,则创建;存在,则清空重写】

x:只写模式【不可读,不存在,则创建;存在,则报错】

a:追加模式【不可读,不存在,则创建;存在,则追加写入】

“+”表示可同时读写文件

r+:读写

w+:读写【不存在,则创建;存在,则清空重写】

x+:读写【不存在,则创建;存在,则报错】

a+:读写【不存在,则创建;存在,则追加写入】

“b”以字节的方式操作

rb或r+b:以二进制格式打开

wb或w+b:以二进制格式写入【不可读,不存在,则创建;存在,则清空重写】

xb或x+b:以二进制格式写入【不可读,不存在,则创建;存在,则报错】

ab或a+b:以二进制格式追加写入【不可读,不存在,则创建;存在,则追加写入】

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型

buffering:

  1. buffering默认为-1,系统默认的全缓冲
  2. buffering可以设置为大于1的任意整数,字节数为buffering的全缓冲
  3. buffering=1,设置为行缓冲模式
  4. buffering=0, 设置为无缓冲模式

获取文件信息:

open.close():刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。

open.closed:判断文件是否关闭;关闭返回True,未关闭返回folse

open.mode:返回被打开文件的访问模式

open.truncate(size):用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。

如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

open.name:返回文件的名称

open.encoding:返回文件打开的编码格式

open.fileno():返回文件在系统中的编号

open.tell():返回光标当前所在的位置;以字符长度进行计数

open.seek(num1,  num2):将光标移动到某个位置;num1:移动的字符长度; num2:偏移的位置起始,0、1、2代表文件开始位置、当前位置、文件末尾

open.flush():将缓存区的内容写入到磁盘

对文件进行读操作:

open.read(size):从光标开始读取内容;size参数:读取的字符长度,未填写则读取所有

open.readline():读取文件中一行的内容

open.readlines():将文件中所有的内容读取到内存中【一般不建议使用】

open.readable():判断文件打开方式是否可读;True:可读。False:不可读

对文件进行写操作:

open.write(size):从光标所在的位置开始写入,默认是不加换行的

open.writelines(seq):把seq(序列)的内容全部写到文件中(多行一次性写入)。也不会自动加入换行符。注意:序列中的内容也必须是字符串类型的数据,才能成功写入文件。

open.writable():判断文件打开方式是否可写;True:可写。False:不可写

python3文件的读写操作的更多相关文章

  1. INI 文件的读写操作

    在C#中对INI文件进行读写操作,在此要引入using System.Runtime.InteropServices; 命名空间,具体方法如下: #region 变量 private static r ...

  2. Android 对 properties文件的读写操作

    -. 放在res中的properties文件的读取,例如对放在assets目录中的setting.properties的读取:PS:之所以这里只是有读取操作,而没有写的操作,是因为我发现不能对res下 ...

  3. C++学习48 对ASCII文件的读写操作

    如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...

  4. Delphi- ini文件的读写操作

    一.读INI文件示例 procedure TForm1.FormCreate(Sender: TObject); Var MyIni :Tinifile; glAppPath :string; beg ...

  5. android报错及解决2--Sdcard进行文件的读写操作报的异常

    报错描述: 对Sdcard进行文件的读写操作的时候,报java.io.FileNotFoundException: /sdcard/testsd.txt (Permission denied),在往S ...

  6. java文件的读写操作

    java文件的读写操作主要是对输入流和输出流的操作,由于流的分类很多,所以概念很容易模糊,基于此,对于流的读写操作做一个小结. 1.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--- ...

  7. python使用装饰器对文件进行读写操作'及遍历文件目录

    '''使用装饰器对文件进行读写操作''' # def check_permission(func): # '''演示嵌套函数定义及使用''' # def wrapper(*args,**kwargs) ...

  8. C# System.IO和对文件的读写操作

      System.IO命名空间中常用的非抽象类 BinaryReader 从二进制流中读取原始数据 BinaryWriter 从二进制格式中写入原始数据 BufferedStream 字节流的临时存储 ...

  9. kernel中文件的读写操作可以使用vfs_read()和vfs_write

    需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据.在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() fil ...

随机推荐

  1. [Leetcode 15]三数之和 3 Sum

    [题目] Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? ...

  2. BFC清除浮动

    BFC 就是清除浮动 用来处理文档脱离文档流的问题 清除浮动的方法: a.父元素也添加一个浮动 产生弊端就是:margin 不能使用 b.给父元素添加一个:display:inline-block 弊 ...

  3. Jmeter分布式及在Linux上执行jmeter脚本

    Jmeter分布式 主控机即自己的电脑,控制并发数 压力机即别人的机器,和主控机一起添加压力 1.其他的压力机需要启动Jmeter-server.bat 启动成功页面 2.主控机的Jmeter 的bi ...

  4. 划分树(poj2104)

    poj2104 题意:给出n个数,有m次查询,每次查询要你找出 l 到 r 中第 k 大的数: 思路:划分树模板题 上述图片展现了查询时如何往下递推的过程 其中ly表示 [sl,l) 中有多少个数进入 ...

  5. 理解微信小程序的生命周期和运行原理

    写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决.小助君公众号带你学习小程序的生命周期和运行原理. 小程序由两大线程组成:负责界面的线程(view thread)和服务线 ...

  6. 关于Error during managed flush [Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1]错误

    控制台报错: 08:07:09.293 [http-bio-8080-exec-2] ERROR org.hibernate.internal.SessionImpl - HHH000346: Err ...

  7. python day27--网络编程

    一‘.网络基础 1.什么是IP IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统 ...

  8. python 环境下 安装 gdal

    起因:需要做一个城市扩张的东西,然后再GitHub上下载了一段代码,不过作者没怎么说清楚要怎么用,早上琢磨半天,归结到我需要先下载python的gdal模块. 关于:搜索下来,发现gdal(Geosp ...

  9. nginx配置socket服务

    1.服务器环境:centos7.5 2.安装nginx 首先下载:wget http://nginx.org/download/nginx-1.14.0.tar.gz 解压:tar zxvf  ngi ...

  10. 【转】使用Mybatis时遇到的延迟加载造成返回异常的问题——HttpMessageConversionException: Type definition error

    在使用Mybatis的过程中,使用了resultMap延迟加载. 延迟加载:association联表查询的过程中,查询另外两个表的对象.而延迟加载是指只有在使用这两个对象的时候才会进行查询. 问题的 ...