Python“文件操作”初窥

有句话我们从小听到大,“好记性不如烂笔头”,尤其是上学的时候,其意思也就是让我们要勤记笔记,以方便以后查阅,毕竟光靠大脑记忆的话,时间长了就会忘掉。我们人类是这样,计算机亦是如此,许许多多的数据、资料必须存储在文件中,才能永久地保存下来。特别是当今大数据时代,计算机技术没有了文件,还剩下什么呢?说的很对,文件操作如此重要,我们岂可不学。

OK,下面正式开始我们的Python文件操作之旅。说到文件操作,我们回忆一下日常办公,无外乎以下几种:新建一个文件、写入数据、保存、关闭文件、打开文件、读取数据、更改数据、文件另存为、文件重命名等。列举了日常办公的具体内容,再看Python文件操作,其实它也是非常符合我们人类思维习惯的。好了,不卖关子了,下面的都是干货。

要读写文件,首先得要打开文件,在Python 3 中,提供了打开文件的内置函数:open,我们先看一下官方文档。

一般情况下,我们只需要考虑前面两个参数:open(file,mode),file指的文件所在的路径,mode指的是文件操作的模式,有以下几种:

mode默认为'r',即只读模式;'w'为写模式,写之前先清空文件内容;'x'新建一个文件,用于写入数据;'a'以写模式打开一个文件,并在文件的最后添加内容;'b'是二进制模式;'t'是文本模式;'+'是更新模式,即打开的文件可读写;'U'是通用的换行模式。OK,说一千道一万不如实干,代码走起。

我们首先在D盘test文件夹下新建一个文本文件hello.txt,如上图所示。接下来,通过open语句试着打开一下。

没有报错,看来打开成功了,我们继续。通过help语句查看f有哪些方法和属性。

其中有个read方法就是我们目前需要的,从stream中读至多n个字符,如果n为负数,则一直读至文件结束。

执行read方法,输出结果正是hello.txt中的内容。文件操作完毕后,注意要执行close方法将文件关闭。

学习了读文件,我们接下来再学习一下写文件,为了向大家展示一下mode 'a'的效果,首先把文件hello.txt拷贝一份,命名为hello2.txt,如下图所示。

在Python中写文件用的方法是write,和读文件类似,我们先用open语句打开文件,首先采用的是'w'模式。

执行完write语句后输出25,表示的是一共写入25个字符,大家可以数数,OK,我们一起看一下hello.txt文件的内容是什么。

什么意思呢?'w'模式是先清空文件再写入。

接下来,我们再试一下'a'模式

程序执行后,我们还是一起看一下hello2.txt中的内容。

发现不同了吧,'a'模式在原有内容后追加,大家可以这样记忆,a是英文单词append(追加)的首字母,所有意思自然也是追加喽。

OK,有个小问题,现在我想读一个不存在的文件,可以不?假如写一个不存在的文件呢?我们接下来就小小试验一下。

看来读操作不行,报出FileNotFoundError异常。我们再看看写操作。

'w'和'w+'都没有报错,再看看test文件夹下时,有如下发现。

我们再试试'a'模式,看看什么效果。

同样没有报错,再看看test文件夹下。

这一系列操作说明什么呢?在Python中读一个不存在的文件会报错;而写一个不存在的文件,该文件会被自动创建出来。

还有一个小知识点,必须要和大家说一下,还记得现在hello.txt中是什么内容吗?

我们现在要试一下'r+'模式打开hello.txt,大家请看如下代码。

代码执行完毕后,我们看看hello.txt中的内容。

什么意思呢?'r+'模式在遇到文件中已有内容时,既不会清空文件,也不会追加在后面,而是从开始覆盖写。这个知识点大家一定要清楚,以免自己用的时候出错。

OK,今天的内容就先到这儿,大家对Python文件操作也有了初步的印象,不过不要骄傲,Python文件操作的内容可远远不止这么点哦!还请继续关注苏苏的文章,好好享用每一桌编程大餐哈!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180717A09RJG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券