当前位置:   article > 正文

python文件打开模式rb表示以只读模式打开文件,Python基础语法----文件操作(主讲“操作模式“)...

python open(mp_task_file, mode="rb")

文件操作当然需要明白什么是文件,具体是怎么样对其进行一系列操作的,下面是我的一些理解

文章目录:

一.文件的含义:

二.操作文件格式及其中参数的介绍:

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()

c246a5d2ac7d7970489f316f41c386d6.png

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("您好 世界")

9c51bb20142c98200cac761a85ede360.png

四.读文件:

上面也说过了都问了读文件的几种方式,下面一起来看看

1."r"模式:

只读,文件不存在会报错

"""with open"""

with open("测试.txt","r",encoding="utf-8")as f:

print(f.read())

c62234c91422d0d35aa222e54a50d6e8.png

"""with open"""

with open("测试1.txt","r",encoding="utf-8")as f:

print(f.read())

c3e251c9e9f5e180b203970ebcfa3b57.png

(因为没有这个文件所以在读取时候就报错了)

2."rb"模式:

以二进制读取文件

25f7cf36d42c34aa5415991d2c09af72.png

"""with open"""

with open("测试.txt","rb")as f:

print(f.read())

7609d0d1a068292d21444e38fea95655.png

不能使用encoding="utf-8",不然会报错

"""with open"""

with open("测试.txt","rb",encoding="utf-8")as f:

print(f.read())

8f1f6a0a04363b8102d29993b5c02a89.png

五.写文件:

1."w"模式:

文件存在则覆盖内容不存在则创建

d8cb7e838696c90a2d6a6e789789608f.png

"""with open"""

with open("测试.txt","w",encoding="utf-8")as f:

f.write("Hello World")

c3915196d839a8d110284115cbcdf688.png

2."a"模式:

文件存在则会进行追加,不存在则会创建

d64a400d6b3d790a034e267161c65ce6.png

"""with open"""

with open("测试.txt","a",encoding="utf-8")as f:

f.write("我是追加进来的内容")

e48f2a46918f79d2d2f14e0c044921c0.png

3."wb"模式:

以二进制方式写入文件,文件存在则会覆盖文件内容,不存在则会创建文件,然后写入内容

aee5a97271a4182b7359b25c536527d7.png

"""with open"""

with open("测试.txt","wb")as f:

f.write("hello".encode("utf-8"))

024fe57780bfa13025bda7eac9eda825.png

4."ab"模式:

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入

c2ea2a1d7a01254a5d5af73a7193e093.png

"""with open"""

with open("测试.txt","ab")as f:

f.write("hello".encode("utf-8"))

18464b52a345c2e7557f3c1352899cd6.png

六.读写文件:

1."w+"模式:

和"w"具有类似的功能,只不过就是多了读文件这一操作

e024ed93d2792c2ce6a1eeabd6cb9dc4.png

"""with open"""

with open("测试.txt","w+",encoding="utf-8")as f:

f.write("我是第二次进来的内容,我会覆盖以前的")

print(f.read())

9c3fb6701f99bfc8267439c700a40396.png

2."a+"模式:

和"a"具有类似的功能,但是可以读取文件

9415bdeb589e8d1b1a06d89d22474d6d.png

"""with open"""

with open("测试.txt","a+",encoding="utf-8")as f:

f.write("我是第二次追加进来的内容,我不会覆盖以前的")

print(f.read())

5d1417ea8b8cf9a9076d5598504672ce.png

3."r+"模式:

指针在文件开头,内容追加在文件末尾

"""with open"""

with open("测试.txt","r+",encoding="utf-8")as f:

f.write("我是第三次追加进来的内容,我不会覆盖以前的")

f.write("您好")

print(f.read())

738165745070d177f3a93a43c2f4f999.png

注意:相信大家在"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")),不能少了后面的编码格式,因为它们都是二进制执行一系列操作的,需要明白以什么编码形式进行

以上就是我对其模式的一些理解,下一篇将介绍读取文件的几种方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/112333
推荐阅读
相关标签
  

闽ICP备14008679号