学Python的漫画漫步进阶

阅读: 评论:0

学Python的漫画漫步进阶

学Python的漫画漫步进阶

学Python的漫画漫步进阶 -- 第十二步.文件读写

  • 十二、文件读写
    • 12.1 打开文件
    • 12.2 关闭文件
      • 12.2.1 在finally代码块中关闭文件
      • 12.2.2 在with as代码块中关闭文件
    • 12.3 读写文本文件
    • 12.4 动动手——复制文本文件
    • 12.5 读写二进制文件
    • 12.6 动动手——复制二进制文件
    • 12.7 练一练
    • 12.8 文件读写总结

十二、文件读写


文件是数据的载体,程序可以从文件中读取数据,也可以将数据写入文件中,本章重点介绍如何在Python中进行文件读写。

Python中文件读写有多种方式,可以使用内置函数
内置函数进行文件读写的基本思路是:

  1. 打开文件
  2. 开始“读”或者“写”的操作
  3. 关闭文件

内置函数包括:open()、read()、readline()、readlines()、write()、writelines()、close()等。

12.1 打开文件

我们在使用文件之前要先将文件打开,这通过open()函数实现。

open()函数的语法如下:


open()函数中的参数还有很多,这里介绍4个常用参数,这些参数的含义如下。

1.file参数

file参数用于表示要打开的文件,可以是字符串或整数。如果file是字符串,则表示文件名,文件名既可以是当前目录的相对路径,也可以是绝对路径;如果file是整数,则表示一个已经打开的文件。

mode参数用于设置文件打开模式,用字符串表示,例如rb表示以只读模式打开二进制文件。用于设置文件打开模式的字符串中的每一个字符都表示不同的含义,对这些字符的具体说明如下。

t:以文本文件模式打开文件。

b:以二进制文件模式打开文件。

r:以只读模式打开文件。

w:以只写模式打开文件,不能读内容。如果文件不存在,则创建文件;如果文件存在,则覆盖文件的内容。

x:以独占创建模式打开文件,如果文件不存在,则创建并以写入模式打开;如果文件已存在,则引发FileExistsError异常。

a:以追加模式打开文件,不能读内容。如果文件不存在,则创建文件;如果文件存在,则在文件末尾追加。

+:以更新(读写)模式打开文件,必须与r、w或a组合使用,才能设置文件为读写模式。
这些字符可以进行组合,以表示不同类型的文件的打开模式,如下表所示。

encoding用来指定打开文件时的文件编码,默认是UTF-8编码,主要用于打开文本文件。

errors参数用来指定在文本文件发生编码错误时如何处理。推荐errors参数的取值为’ignore’,表示在遇到编码错误时忽略该错误,程序会继续执行,不会退出。
示例代码如下:

通过Python指令运行文件,输出结果:


12.2 关闭文件

在打开文件后,如果不再使用该文件,则应该将其关闭,会用到close()方法。

12.2.1 在finally代码块中关闭文件

对文件的操作往往会抛出异常,为了保证对文件的操作无论是正常结束还异常结束,都能够关闭文件,我们应该将对close()方法的调用放在异常处理的finally代码块中。

示例代码如下:

通过Python指令运行文件,输出结果

12.2.2 在with as代码块中关闭文件

示例代码如下:


通过Python指令运行文件,输出结果:

with as提供了一个代码块,在as后面声明一个资源变量,在with as代码块结束之后自动释放资源。

12.3 读写文本文件

读写文本文件的相关方法如下。

read(size=-1):从文件中读取字符串,size限制读取的字符数,size=-1指对读取的字符数没有限制。

readline(size=-1):在读取到换行符或文件尾时返回单行字符串。如果已经到文件尾,则返回一个空字符串。size是限制读取的字符数,size=-1表示没有限制。

readlines():读取文件数据到一个字符串列表中,每一行数据都是列表的一个元素。

write(s):将字符串s写入文件中,并返回写入的字符数。

writelines(lines):向文件中写入一个字符串列表。不添加行分隔符,因此通常为每一行末尾都提供行分隔符。

flush():刷新写缓冲区,在文件没有关闭的情况下将数据写入文件中。

12.4 动动手——复制文本文件

下面给出一个文本文件复制示例:


示例代码如下:

12.5 读写二进制文件

二进制文件的读写单位是字节,不需要考虑编码问题。二进制文件的主要读写方法如下。

read(size=-1):从文件中读取字节,size限制读取的字节数,如果size=-1,则读取全部字节。

readline(size=-1):从文件中读取并返回一行。size是限制读取的行数,如果size=-1,则没有限制。

readlines():读取文件数据到一个字节列表中,每一行数据都是列表的一个元素。


write(b):写入b字节,并返回写入的字节数。
writelines(lines):向文件中写入一个字节列表。不添加行分隔符,因此通常为每一行末尾都提供行分隔符。

flush():刷新写缓冲区,在文件没有关闭的情况下将数据写入文件中。

12.6 动动手——复制二进制文件

下面给出一个文件复制示例:


12.7 练一练

1 请简述打开文件函数open()中几个常用参数的意义。

2 判断对错:(请在括号内打√或×,√表示正确,×表示错误)。

1)若文件打开模式为r+,则表示以只读模式打开文本文件,如果文件不存在,则抛出异常。()

2)文件读取方法readline()会一次性读取文件中的所有数据。()

3)文本文件写入方法write(s)会将字符串s写入文件中。()

4)进行文件写入时可以不用flush()方法,只要文件正常关闭,则数据最终都被写入文件中。()

5)文件可以分为:二进制文件和文本文件。图片jpgJPG图片文件属性二进制文件,而Word属于文本文件。()

6)打开二进制文件时需要指定编码集。()

7)打开文件后,如果不再使用该文件,则应该关闭该文件。关闭文件的过程可以在finally代码块中完成,也可以在with as代码块中实现完成。()

8)with as代码块,可自动释放资源(包括关闭文件的操作),它可以替代finally代码块,优化代码结构,并提高其可读性。()

12.8 文件读写总结

Python提供了多种文件读写方式,以下是文件读写的一些常见总结:

  1. 打开文件:使用open()函数打开文件,指定文件名和文件操作模式。例如,打开一个名为“”的文本文件,可以使用以下代码:
file = open(&#", "r")
  1. 读取文件:使用read()函数读取文件内容。例如,读取“”文件中的内容,可以使用以下代码:
content = ad()
print(content)
  1. 逐行读取文件:使用readline()函数逐行读取文件内容。例如,逐行读取“”文件中的内容,可以使用以下代码:
line = adline()
while line:print(line)line = adline()
  1. 写入文件:使用write()函数将数据写入文件中。例如,向“”文件中写入一行文本,可以使用以下代码:
file = open(&#", "w")
file.write("Hello, world!")
file.close()
  1. 追加文件:使用a模式打开文件,将数据追加到文件末尾。例如,向“”文件末尾追加一行文本,可以使用以下代码:
file = open(&#", "a")
file.write("Hello, world!")
file.close()
  1. 关闭文件:使用close()函数关闭文件。例如,关闭“”文件,可以使用以下代码:
file.close()
  1. with语句:使用with语句可以自动关闭文件。例如,使用with语句打开“”文件,可以使用以下代码:
with open(&#", "r") as file:content = ad()print(content)

以上是Python文件读写的一些常见总结,需要注意的是,在读写文件时应该遵循文件操作的基本规则,避免对文件造成不必要的损害。

本文发布于:2024-01-28 11:11:28,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064114947011.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进阶   漫画   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23