对文件的读/写与编码的处理,是学习爬虫的必备知识
1.使用Python读/写文本文件
使用'open'关键字,作用是打开一个文件,并创建一个文件对象
使用Python打开文件,有两种写法:
f = open('文件路径','文件操作方式',encoding='utf-8')
f.close()
#第二种使用Py的上下文管理器:
with open('','',encoding='utf-8') as f:
对文件进行操作
#不需要使用close()关闭,缩进改变即自动关闭
在读文件文件的时候,‘文件操作方式',这个参数可以省略也可以写成'r'--read'
文件路径可以是绝对路径或者相对路径
参数encoding,打开文件的时候将文件转换为UTF-8编码的格式,从而避免乱码的出现,这个参数只有py3有,在Py2会报错,如果用UTF-8打开文件乱码,可以把编码格式改成GBK
读取文本所有行,并以列表的形式返回结果:
with open('rhz.txt',encoding='utf-8') as f:
rhz_1 = f.readlines()
print(rhz_1)
读取文本,直接把整个文本内容以一个字符串方式返回:
with open('rhz.txt',encoding='utf-8') as f:
rhz_2 = f.read()
print(rhz_1)
2.使用py写文本文件
先打开文件:
with open('rhz.txt','w',encoding='utf-8') as f:
#通过f来写文件
参数w是英文write的缩写,以写的模式打开文件,这个参数还可以是"a",它与w的区别在于,它直接把新的内容加到原来文件的末尾,而w直接覆盖原来的文件导致原来文件内容丢失。
直接将一大段字符串写入到文本中:
f.write("一大段文字哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈")
把列表里面的所有字符串写入到文本中,可以使用下面这一行代码:
f.writeliness(['列表元素1','元素2','元素3','元素3'])
注意:
- 写列表时,py写到文本中的文字不会自动换行,需要人工输入换行符
f.writeliness(['列表元素1\n','元素2\n','元素3\n','元素3\n'])
文章评论