- Python网络爬虫实战(第2版)
- 胡松涛
- 608字
- 2021-03-23 23:03:59
3.4 读写文件
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C的读写文件非常类似。在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。
3.4.1 Project分析
Python使用内置函数open来读写文件。查看open函数的帮助文档。执行命令:
python3 help(open)
执行的结果如图3-4所示。
图3-4 help open
图3-4中的Name是需要操作的文件名,mode是模式。这个模式共有7种,如表3-1所示。
表3-1 Python Open Mode
这7种模式可以组合使用。下面将用Python创建一个文件,并写入、读取内容。
3.4.2 Project实施
【示例3-4】编写operaFile.py,打开Putty连接到Linux,执行命令:
cd code/crawler vi operaFile.py
operaFile.py的代码如下:
1 #!/usr/bin/env python3 2 #-*- coding: utf-8 -*- 3 __author__ = 'hst_king hst_king@hotmail.com' 4 5 import os 6 7 def operaFile(): #创建文件 8 print('创建一个名字为test.txt的文件,并在其中写入Hello Python') 9 print('先得保证test.txt不存在') 10 os.system('rm test.txt') 11 os.system('ls -l test.txt') 12 print('现在再来创建文件并写入内容\n') 13 fp = open('test.txt', 'w') 14 fp.write('Hello Python') 15 fp.close() 16 print('不要忘记用close关闭文件哦') 17 print('再来看看test.txt是否存在,和内容\n') 18 os.system('ls -l test.txt') 19 os.system('cat test.txt') 20 print('\n') 21 22 print('如何避免open文件失败的问题呢?') 23 print('使用with as就可以了') 24 with open('test.txt', 'r') as fp: 25 st = fp.read() 26 print('test.txt的内容为:%s' %st) 27 28 if __name__ == '__main__': 29 operaFile()
执行命令:
python operaFile.py
得到的结果如图3-5所示。
图3-5 Python读写文件
Python对文件的操作跟C类似,但功能远比C要丰富。例如按行读取文件,多行读取文件等。C语言的优势是快,而Python的优势是模块多、功能丰富。