0


python 文件的读写操作(一)

1、打开文件

    使用Python内置函数 open() 可以打开指定的文件,用于对文件进行读取,修改或添加内容。

open() 函数的语法如下所示;

open(filename[,mode][,encoding])
     open() 函数公有8个参数,其中最常用的有3个,分别是filename(文件名称)、mode(文件打开模式)和encode(文件编码方式)。

其中filename是不可以省略的,其他参数都可以省略,省略时会使用默认值。

代码举例:

1、打开同级的txt文档

f=open('my_text01.txt')
content=f.read()
print(content)
f.close()

效果展示:

2、访问绝对路径下的文档内容

f=open('D:\python\project\leasson\my_text02.txt')
content=f.read()
print(content)
f.close()

效果展示:

3.使用打开模式
打开文件时如果不指定模式,那么默认为'r',以只读方式打开文件。此外,还可以显式指定打开模式
读取使用 'r'、
写入使用 'w'、
追加使用 'a'。

4.文件读操作

代码展示:

可以通过写操作自己创建txt文件

f=open('my_text02.txt','w')
f.write('this is my table')
f.close()

效果展示:

可以在相对路径下通过写操作创建txt文件

f=open('D:\python\project\leasson\my_text03.txt','w')
f.write('this is my_text03.txt  done')
f.close()

4.打开一个二进制的图片,并复制一份

代码展示:

f=open('01.jpg','rb')
content=f.read()
f2=open('02.jpg','wb')
f2.write(content)
f2.close()
f.close()

效果展示;

  1. 文件打开模式作用

r:只读模式

只读,不可写。打开时光标自动定位到开头位置。

w:只写模式
只写,不可读。打开时自动清空原文档

a:追加模式

只写,不可读。打开时不清空原文档,光标自动定位到文档末尾。

r+:读写模式
先读后写。打开文档时不清空原内容,光标定位正在开始位置。读完后光标会移到文档末尾,所以写的时候是追加在文档最后的。不会覆盖原内容。
如果以“r+”模式打开,但是先写后读,那么写入的内容会覆盖原内容,读取时从写结束位置开始读。如果原文档内容小于新写入的,那么全部被覆盖,读到的为空。
如果原文档内容大于新写入的,那么读到的内容为原文档剩下的内容。

w+ :写读模式
先写后读。打开文档即清空原内容,从文档开头写起,写完后光标自动移到文档末尾,此时进行读取,内容为空。需要将光标移到首位,f.seek(0)。
如果以“w+”模式打开,先进行读操作,读到的内容也是为空,因为打开即被清空了。

a+ :追加写读模式
先写后读。追加在原文档末尾,不会清空原内容,写完后光标移到文档末尾,此时进行读取,内容为空。需要将光标移到首位,f.seek(0)。
如果以“a+”模式打开,先进行读操作,读到的内容也是为空,因为打开即把光标定位在文档末尾。

6.文件写操作

代码展示:

打开时自动清空原文档,然后开始写

f=open('my_text02.txt','w')#把原来写的文字替换掉了
f.write('123')
f.close()

效果展示:

7、a追加模式

只写,不可读。打开时不清空原文档,光标自动定位到文档末尾

代码展示;

f=open('my_text02.txt','a')#在原txt文件后面追加文字
f.write('asd')
f.close()

效果展示:

8、r+读写模式

读写操作,在原文件内先读,后写,在后面追加文字,不改变原文件

代码展示:

f=open('my_text03.txt','r+')#读写操作,在原文件内先读,后写,在后面追加文字,不改变原文件
content=f.read()
print(content)
f.write('123')
print(f.read())
f.close()

效果展示;

9.w+读写操作

读写操作,先写后读,打开文件,原文件被清空,在执行写操作

代码展示;

f=open('my_text02.txt','w+')#读写操作,先写后读,打开文件,原文件被清空,在执行写操作
f.write('ASD')
print(f.read())
f.close()

效果展示;

10.读写操作,先写后读,打开文件时,原文件被清空,在执行写操作

f=open('my_text02.txt','w+')#读写操作,先写后读,打开文件时,原文件被清空,在执行写操作
f.write('awer')
print(f.read())
f.close()

效果图;

11.a+追加模式

追加在原文档末尾,不会清空原内容,写完后光标移到文档末尾,此时进行读取,内容为空。需要将光标移到首位,f.seek(0),才能完整地读。

代码展示

先写后读

f=open('my_text02.txt','a+')
f.write('awer')
f.seek(0)#写完之后,光标移动到首个位置,然后再执行读操作
content=f.read()
print(content)
f.close()

效果展示;

12.a+追加模式先读后写

代码展示;

f=open('my_text02.txt','a+')
content = f.read()
print(content)
f.write('nmdfg')
f.close()

效果图;

13、读取txt文件的编码格式

代码展示

f=open('my_text01.txt','r',encoding='utf-8')
print(f.encoding)
f.close()

运行结果;

14.打开文件的另外一种方式,避免因为忘记写close(),而造内存损耗

with open('my_text01.txt','r') as f:
    print(f.read())
标签: python

本文转载自: https://blog.csdn.net/qq_44850339/article/details/119762102
版权归原作者 oceans of *stars 所有, 如有侵权,请联系我们删除。

“python 文件的读写操作(一)”的评论:

还没有评论