09-Python基础教程-文件操作

九、文件操作

在Python中,内置了文件读写函数,用法与C语言兼容。对于操作系统而言,它是不允许程序直接对磁盘操作,而提出一些文件操作的功能供程序调用。文件读写就是请求操作系统打开一个文件操作的,通过操作系统提供的接口,进行文件的相应操作。

9.1 写文件的基本操作

创建一个空的文件,示例代码如下:

# -*- coding: utf-8 -*-
#
文件操作
#
创建文件空文件

f = open(‘file1.txt’, ‘w’)
f.close();

open“为系统函数,实现了文件打开操作,第一个参数”file1.txt“为文件名称(这里为创建的文件名称);第二个参数”w“,为文件”“的标识。”f.close()“为文件关闭。

在文件操作中,open()函数除了”w“代表文件”“操作之外,还有很多模式:

  1. r“,以读模式打开;
  2. w“,以写模式打开;
  3. a“,以追加模式打开,从EOF开始追加,如果文件不存在则创建;
  4. r+“,以读写模式打开;
  5. w+“,以读写模式打开;
  6. a+“,以读写模式打开;
  7. rb“,以二进制读模式打开;
  8. wb“,以二进制写模式打开;
  9. ab“,以二进制追加模式打开;
  10. rb+“,以二进制读写模式打开;
  11. wb+“,以二进制读写模式打开;
  12. ab+“,以二进制读写模式打开。

当我们执行上述示例代码后,就会有新文件”file1.txt”创建出来,并且内容为空,如下图所示:

创建文件并写入自定义内容,示例代码如下:

# -*- coding: utf-8 -*-
#
文件操作
#
创建文件空文件

str = ‘Hello World.’
f = open(‘file1.txt’, ‘w’)
f.write(str)
f.close()

当我们执行上述示例代码后,就会在文件”file1.txt”中写入字符内容”Hello World.”,需要注意的是,如果文件”file1.txt”不存在的话,则创建后写入内容,如果已经存在则是直接写入内容,如下图所示:

对于任何一种编程语言而言,文件的读写很有可能会出现文件操作诸多问题,如目录无权限、文件只读、文件不存在、目录不存在等,那么我们在操作中如果让我们的程序行之有效!在Python中,我们可以使用”try…finally“来捕获异常。

第4行,定义了一个字符串。

第5〜12行,”try…finally“来捕获异常。

第6行,以”w“写的方式打开了文件”file1.txt”。

第7行,对文件写入了刚刚定义的字符内容。

第8行,关闭文件。

第10〜12行,当出现异常时,判断文件指针”f“是否合法,如果合法,进行文件关闭操作。

在Python中,如果文件读写出现问题,就会产生IOError错误,在文件操作过程中,文件关闭操作就不会被调用,为了能够正常的关闭文件,所以在上例中使用了”try…finally“来解决此项问题。

由于上例文件操作代码过于麻烦,Python引入了”with“语句来自动帮助我们调用文件关闭方法(”close()“),这也简化了Python对文件的操作。

如上代码是不是简单很多,这和之前的代码实现的功能是一样的,而且不必调用”f.close()“方法了,因为”with“已经帮你做了。

9.2 读文件的基本操作

在文件写操作过程中,我们需要考虑的因素相对较少,但是读取文件就不一样了,需要我们全面考虑一些细节,比如说,我们是一次性读取文件、一次读一行、还是一次读一个字节,同时要考虑一次性读取文件时,是否超过了我们可控的范围,比如说我一次读取几十个G的文件内容,它会让我们的操作系统因为没有内容空间而崩溃,这些细节都是需要我们考虑的。用什么方法读取,这要根据我们的程序实现的功能而定,接下来,我们往”file1.txt”几入了几个数据,为下面的文件操作打好基础。

Hello World.
this is a book.
this ia a test string.
中国好声音。
中国好广告。
那一年我们是同桌。
回忆童年,送了多少橡皮。

示例:将文件一次性读取到一个字符变量中。

示例:将文件按行读取,并打印读取的内容。

示例:将文件按行读取,并将文件内容追加到列表中。

转载请附上原文出处链接及本声明
李老师的博客 » 09-Python基础教程-文件操作

1 评论

  1. 在9.2章节的第一段中,“接下来,我们往”file1.txt”几入了几个数据”,有个错字被我发现了。。。

发表评论

提供最优质的文章集合

立即查看 了解详情