python3文件的读写操作
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:
- buffering默认为-1,系统默认的全缓冲
- buffering可以设置为大于1的任意整数,字节数为buffering的全缓冲
- buffering=1,设置为行缓冲模式
- 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文件的读写操作的更多相关文章
- INI 文件的读写操作
在C#中对INI文件进行读写操作,在此要引入using System.Runtime.InteropServices; 命名空间,具体方法如下: #region 变量 private static r ...
- Android 对 properties文件的读写操作
-. 放在res中的properties文件的读取,例如对放在assets目录中的setting.properties的读取:PS:之所以这里只是有读取操作,而没有写的操作,是因为我发现不能对res下 ...
- C++学习48 对ASCII文件的读写操作
如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...
- Delphi- ini文件的读写操作
一.读INI文件示例 procedure TForm1.FormCreate(Sender: TObject); Var MyIni :Tinifile; glAppPath :string; beg ...
- android报错及解决2--Sdcard进行文件的读写操作报的异常
报错描述: 对Sdcard进行文件的读写操作的时候,报java.io.FileNotFoundException: /sdcard/testsd.txt (Permission denied),在往S ...
- java文件的读写操作
java文件的读写操作主要是对输入流和输出流的操作,由于流的分类很多,所以概念很容易模糊,基于此,对于流的读写操作做一个小结. 1.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--- ...
- python使用装饰器对文件进行读写操作'及遍历文件目录
'''使用装饰器对文件进行读写操作''' # def check_permission(func): # '''演示嵌套函数定义及使用''' # def wrapper(*args,**kwargs) ...
- C# System.IO和对文件的读写操作
System.IO命名空间中常用的非抽象类 BinaryReader 从二进制流中读取原始数据 BinaryWriter 从二进制格式中写入原始数据 BufferedStream 字节流的临时存储 ...
- kernel中文件的读写操作可以使用vfs_read()和vfs_write
需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据.在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() fil ...
随机推荐
- leetcode python 032 识别最长合法括号
# 给定一个只包含字符'('和')'的字符串,# 找到最长的有效(格式良好)括号子字符串的长度.# 对于“(()”,最长的有效括号子串是“()”,其长度为2.# 另一个例子是“)()())”,其中最长 ...
- SQL-47 如何获取emp_v和employees有相同的数据?
题目描述 存在如下的视图:create view emp_v as select * from employees where emp_no >10005;如何获取emp_v和employees ...
- 第一节课:java介绍以及java开发环境的安装
互联网时代 什么是软件 什么是硬件 什么是操作系统 java是什么? 计算机高级程序语言 java能做什么? 开发软件(网站.app.游戏.应用系统.嵌入式) java对应的职位链(需求->产品 ...
- Effective java第17条:要么为继承而设计,并提供文档说明,要么就禁止继承
不要过度设计. 面向对象编程,从一开始被洗脑难免在上手写代码时都会首先思考有没有公共方法啊,能不能把两个类抽象成一个父类再继承啊等,慎重使用继承,当要使用继承时一定要在文档注释中写明重写这个方法会给其 ...
- red hat防火墙的开启与关闭及状态查看方法
Redhat使用了SELinux来增强安全, 首先怎么查看防火墙的状态呢? a.可以通过如下命令查看iptables防火墙状态: chkconfig --list iptables b. selinu ...
- 利用教育邮箱注册JetBrains产品(pycharm、idea等)的方法
转载:http://www.cnblogs.com/wang-meng/p/8887436.html 1,申请邮箱 地址为:http://mdu.edu.rs/ 邮箱的前缀可以改成自己喜欢的字符 ...
- 【转】20-TCP 协议(滑动窗口——基础)
https://blog.csdn.net/q1007729991/article/details/70142341 相信大家都遇到过这样的场景: 同学 Luffy 给你打电话,让你记下一串手机号码, ...
- java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver
在使用JDBC时经常碰到java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver问题 这是jvm找不到驱动类文件,可能是以下原因: 没有导入驱 ...
- 源代码安装-非ROOT用户安装软件的方法
0. 前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...
- XXS level9
(1)查看PHP源代码 <?php ini_set("display_errors", 0); $str = strtolower($_GET["keyword&q ...