Python基础(17):读写文件

版权声明:转载请注明来处 https://blog.csdn.net/Daisy_zye/article/details/84871357

读文件

定义:通过操作系统定义的接口,从这个文件对象中读取数据。

步骤:只读方式打开文件,读取文件,关闭文件。

示例:

f=open('E:\\book\\test.txt','r')     #open函数打开一个文件,第一个参数文件名,第二个参数指打开方式,r表示只读
print(f.read())                        #read读取所有内容,并返回一个字符串
f.close()                              #关闭文件

补充:

1:open函数,r表示读取,rb表示读取二进制文件,非utf-8编码的文本文件,需要传入encoding参数。遇到非法编码字符,UnicodeDecodeError异常时,可以添加error='ignore',忽略。

2:read方法,读取全部数据。当文件过大时,会占用内存,所以,还有其他的读取方式:

read(size)   最多读取size个字节的内容

readline      每次读取一行

readlines     一次性读取所有内容,按行返回列表

3:每次都必须close么?是的,没错,你说的对。

但是!提供两种不用自己每次close的方法:

第一种:try…finally…语句

try:
    f=open('E:\\book\\test.txt','r')
    print(f.read())
finally:                                #开始执行finally
    if f:                               #如果f还存在
        f.close()                       #关闭f对象

第二种:with语句

with open('E:\\book\\test.txt','r') as f:    #打开一个文件,并作为对象f
    print(f.read())                            #with语句结束,自动关闭对象

写文件

定义:通过操作系统定义的接口,往这个文件对象中写入数据。

相较于读文件的相同点:

都需要open函数打开,执行完都需要关闭文件对象。都可以利用finally和with关闭文件对象。

相较于读文件的不同点:

1:open参数,写入文本文件为w,写入二进制文件为wb。w模式,会覆盖原有内容,追加时,建议用a模式。

open函数的合法mode有:r、rb、r+、rb+、w、wb、w+、wb+、a、ab、a+、ab+

2:要写入特定编码的文本文件,请给open()函数传入encoding参数,将字符串自动转换成指定编码。

示例:

f=open('E:\\book\\test.txt','a')
f.write('write file a+')
f.close()

猜你喜欢

转载自blog.csdn.net/Daisy_zye/article/details/84871357