赞
踩
文件操作当然需要明白什么是文件,具体是怎么样对其进行一系列操作的,下面是我的一些理解
文章目录:
一.文件的含义:
二.操作文件格式及其中参数的介绍:
1.格式:
2.mode参数:
3.encoding参数:
三:打开文件的两种方式:
1.别名=open(file, mode='r', encoding=None):
2.with open(file, mode='r', encoding=None) as 别名:
四.读文件:
1."r"模式:
2."rb"模式:
五.写文件:
1."w"模式:
2."a"模式:
3."wb"模式:
4."ab"模式:
六.读写文件:
1."w+"模式:
2."a+"模式:
3."r+"模式:
七.注意事项:
一.文件的含义:
文件:存储数据的物理载体都是文件,数据在计算机中持久保存主要依靠的就是文件
二.操作文件格式及其中参数的介绍:
1.格式:
操作文件一般格式为:open(file, mode='r', encoding=None)
file:必需的,文件路径(绝对或相对路径);
mode:打开文件的模式;
encoding:编码格式,一般为utf-8
2.mode参数:
mode:代表了我们以什么形式打开文件(读,写,可读可写)
参数
含义
w
写入模式:文件存在则会覆盖文件内容,不存在则会进行创建,写入内容
w+
读写模式:和"w"有类似的功能,只不过可以读取文件
wb
写入模式:以二进制方式写入文件,文件存在则会覆盖文件内容,不存在则会创建文件,然后写入内容
r
只读模式:见名思意,read只对文件进行读取其内容操作,读取文件,文件不存在会报错
r+
读写模式:指针在文件开头,内容追加在文件末尾
rb
只读模式:以二进制方式读取文件,文件指针将会放在文件的开头
a
写入模式:文件存在则会对文件内容进行追加(写在文件末尾),不存在则会创建文件,然后再写入内容
a+
读写模式:和"a"有类似的功能,只不过可以读取文件
ab
写入模式:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
注意:默认为文本模式,如果要以二进制模式打开,加上 b
3.encoding参数:
encoding:表示的是编码格式,一般最常用的有utf-8中文编码格式
三:打开文件的两种方式:
一般打开文件有两种方式:
1.别名=open(file, mode=‘r’, encoding=None):
open(file, mode='r', encoding=None):这种打开方式一定要注意有始有终,因为打开了,就要在操作完毕后对其close,不然会占用一个文件通道比较占内存,所以一般必须进行close()方法
"""open"""
f=open("测试.txt","w",encoding="utf-8")
f.write("Hello World").
"""切记不能忘记此方法"""
f.close()
2.with open(file, mode=‘r’, encoding=None) as 别名:
with open(file, mode='r', encoding=None) as 别名:这种打开方式的好处是,打开后不用去用close()方法去关闭文件,相对而言比较简单一点
"""with open"""
with open("测试.txt","w",encoding="utf-8")as f:
f.write("您好 世界")
四.读文件:
上面也说过了都问了读文件的几种方式,下面一起来看看
1."r"模式:
只读,文件不存在会报错
"""with open"""
with open("测试.txt","r",encoding="utf-8")as f:
print(f.read())
"""with open"""
with open("测试1.txt","r",encoding="utf-8")as f:
print(f.read())
(因为没有这个文件所以在读取时候就报错了)
2."rb"模式:
以二进制读取文件
"""with open"""
with open("测试.txt","rb")as f:
print(f.read())
不能使用encoding="utf-8",不然会报错
"""with open"""
with open("测试.txt","rb",encoding="utf-8")as f:
print(f.read())
五.写文件:
1."w"模式:
文件存在则覆盖内容不存在则创建
"""with open"""
with open("测试.txt","w",encoding="utf-8")as f:
f.write("Hello World")
2."a"模式:
文件存在则会进行追加,不存在则会创建
"""with open"""
with open("测试.txt","a",encoding="utf-8")as f:
f.write("我是追加进来的内容")
3."wb"模式:
以二进制方式写入文件,文件存在则会覆盖文件内容,不存在则会创建文件,然后写入内容
"""with open"""
with open("测试.txt","wb")as f:
f.write("hello".encode("utf-8"))
4."ab"模式:
以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
"""with open"""
with open("测试.txt","ab")as f:
f.write("hello".encode("utf-8"))
六.读写文件:
1."w+"模式:
和"w"具有类似的功能,只不过就是多了读文件这一操作
"""with open"""
with open("测试.txt","w+",encoding="utf-8")as f:
f.write("我是第二次进来的内容,我会覆盖以前的")
print(f.read())
2."a+"模式:
和"a"具有类似的功能,但是可以读取文件
"""with open"""
with open("测试.txt","a+",encoding="utf-8")as f:
f.write("我是第二次追加进来的内容,我不会覆盖以前的")
print(f.read())
3."r+"模式:
指针在文件开头,内容追加在文件末尾
"""with open"""
with open("测试.txt","r+",encoding="utf-8")as f:
f.write("我是第三次追加进来的内容,我不会覆盖以前的")
f.write("您好")
print(f.read())
注意:相信大家在"w+"和"r+"中,都有可能出现读取不到文件的情况,这是因为光标定位的位置所导致的,定位在末尾肯定读取不到,所以我们可以在其中加入f.seek(0),类似于下代码:
"""with open"""
with open("测试.txt","w+",encoding="utf-8")as f:
f.write("我是第三次追加进来的内容,我不会覆盖以前的")
f.seek(0)
print(f.read())
将光标定位在文件开头,这样就可以进行读取了,希望大家谨记!!!
七.注意事项:
读文件文件必须存在
写文件注意模式,覆盖还是追加
在"wb",“ab”,"rb"时需注意f.write("hello".encode("utf-8")),不能少了后面的编码格式,因为它们都是二进制执行一系列操作的,需要明白以什么编码形式进行
以上就是我对其模式的一些理解,下一篇将介绍读取文件的几种方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。