掌握Python的X篇_26_Python中的文件操作(推荐文件打开和关闭文件时,指定utf-8编码,否则可能由于python默认使用电脑编码方式,从而导致无法正常打开关闭情况)

本篇将会介绍python中的文件操作。

1. open函数介绍

  • 使用open可以打开一个文件
  • open的重要参数

通过open函数,可以得到一个文件对象。这个文件对象,代表着磁盘中的文件,通过文件对象中的各种方法,可以操作文件。

open函数原型:

open(
    file,
    mode='r',
    buffering=-1,
    encoding=None,
    errors=None,
    newline=None,
    closefd=True,
    opener=None,
)

除了file之外,都使用默认参数

1.1 open函数打开一个文件

f = open("test.txt")

以上,通过open打开一个已经存在的文件,并且返回文件对象(f)。

1.2 open函数的参数

  • file:文件名
  • mode:代表属性,默认值是"r",代表只读,如果需要写的权限,可以使用"w",如果以w方式打开,文件不存在,会创造文件
  • encoding:编码方式,一般在互联网的文本格式中,推荐使用"utf-8"

2. 文件对象

上面实例中open函数返回的即为文件对象

3. 读取文件内容

调用文件对象的read方法,可以尽可能地读取文件内容。read函数还有其他变形,例如按行读等,根据实际需要选择使用

In [5]: f = open("test.txt")

In [6]: content = f.read() #读取文件全部内容

In [7]: print(content)
today is sunny

4. 写入

通过调用write方法,可以往文件中写入内容。

f2.write("I am back")

5. 关闭文件

因为文件有缓存的机制,所以有些效果并不是立即生效的,需要清空缓存,或者关闭文件才会生效。

f2.close()

6. 编码

推荐文件使用utf-8编码,打开和关闭文件时,指定utf-8编码

我们将test.txt的内容改为中文:你好呀!666老铁!
此时再进行读取,效果如下:

In [10]: f = open("test.txt")

In [11]: f.read()
---------------------------------------------------------------------------
UnicodeDecodeError                        Traceback (most recent call last)
Cell In[11], line 1
----> 1 f.read()

UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 8: illegal multibyte sequence

显示报错,'gbk' codec can't decode这是因为在互联网时代,特别是网页上,默认的编码方式是utf-8,但是python中的open函数的编码方式采用电脑默认的编码形式打开。上述电脑中默认使用的是gbk的编码方式打开,但是保存的是utf-8格式,导致存文件和读文件是两种语言。
上述打开时的编码方式指定为utf-8,这样读取到的就没有问题了

In [13]: f = open("test.txt",encoding = "utf-8")

In [14]: f.read()
Out[14]: '你好呀!666老铁!'

学习视频地址:Python中的文件操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月旧城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值