IO:在计算机中指的是Input/Output,也就是输入输出
1.3.1. 文件读写
打开文件是最常见的IO操作,在Python中使用open函数打开文件:
open(name[.mode[.buffering]])
open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象。
模式(mode),缓冲区(buffering),默认模式是读模式,默认缓冲区是无。
例:
f = open(r’c:\text\qiye.txt’) #打开一个已知的txt文件
2.文件模式
open函数中的mode参数:
| 值 | 功能描述 |
|---|---|
| ‘r’ | 读模式 |
| ‘w’ | 写模式 |
| ‘a’ | 追加模式 |
| ‘b’ | 二进制模式(可添加到其他模式中使用) |
| ‘+’ | 读/写模式(可添加到其他模式中使用) |
| ‘rb’ | 参数rb可以用来读取一个二进制文件 |
一般处理文件时,是使用不到’b’参数的,但是处理一些其他类型的文件(二进制文件),比如MP3音乐或者图像,那么应该在模式参数中增加’b’,这在爬虫中处理媒体文件很常用。
3.文件缓冲区
buffering参数:
| 值 | 缓冲方式 | 内存读写 |
|---|---|---|
| 0 | 无缓冲 | 直接读写到硬盘上 |
| 1 | I/O 操作有缓冲 | 数据先写到内存里,只有使用flush函数或者close函数才会将数据更新到硬盘。 |
| 大于1 | 数字表示缓冲区大小(单位是字节) | |
| -1(或任何负数) | 表示使用默认缓冲区大小 |
4.文件读取
文件读取方式主要分为按字节读取 和 按行读取,经常使用的方法:read()、readline()、readlines()、close()。
| 函数 | 读取方式 |
|---|---|
| read() | 一次将文件内容读取到内存,如果文件过大,会出现内存不足问题。一般对于大文件,可以反复调用read(size)文件,一次最多读取size个字节。 |
| readline() | 可以每次读取一行内容 |
| readlines() | 一次读取所有内容并按行返回列表。 |
按需采取不同的读取方式,例如:
小文件可以直接采取read()方法读取到内存 1
大文件更加安全的方式是连续调用read(size)2
配置文件等文本文件,使用readline()更合理3
close()函数可以关闭对文件的引用。文件使用完毕后必须关闭,因为文件对象会占用操作系统资源,影响系统的IO操作。
例:
>>>f =open(r'c:\text\qiye.txt')>>>f.read()
‘olalalaaa’
f.close()
#’olalalaaaa’为qiye.txt文件中的内容
本文介绍了计算机中的IO概念,重点讲解了Python中使用open函数进行文件读写的操作,包括文件模式的选择、缓冲区的设置以及读取文件的不同方法,如read()、readline()和readlines()。强调了文件使用完毕后需要调用close()函数来释放资源。
1056

被折叠的 条评论
为什么被折叠?



