python爬虫预备知识一-读写文件及IO异常

读写文件

IO在计算机中指Input/Output,IO编程即实现本地磁盘、网络的数据传输。

文件读取

open方法:

open(name,[mode,buffering])

只有name是必须得,后面的模式、缓冲是可选的,默认是读模式,默认无缓冲区。该方法返回一个文件对象。

name参数:

例子1:

f = open(r'd:\test\hamlet1.txt')

mode参数:

mode的值

描述

r

读模式

w

写模式

a

追加模式

b

二进制模式(可与其他模式一起使用)

+

读写模式(可与其他模式一起使用)

处理文本时,一般不使用b参数,在处理音乐、图片、视频等类型文件才需要使用二进制模式。

buffering 文件缓冲区参数

什么叫缓冲?数据直接写道磁盘上就是没有缓冲,缓冲就是数据先写到内存里,容量达到指定值后再一次性写道磁盘上,因为写道内存相对较快,所以在写大数量的数据时效率更高。一般在flush或者close之后数据一次性从内存缓冲区写到磁盘上。

该参数是0时,表示没有缓冲区,是负数时代表使用默认缓冲区大小,是正数时代表缓冲区大小。

文件读取方法

文件读取一般分为按照字节、按照字符读取,常用方法是read()、readlines()、close()。

read()方法是一次性读取。不适用大文件。

read(size)一次读取size字节内容。

readline()一次读取一行。

readlines()方法是一次读取所有内容,并且返回列表。

如果是大文件,比较合适的是循环使用read(size)方法,配置文件适合使用readline()方法。

close()方法是关闭文件引用,释放系统资源。

例子2:

f = open(r'd:\test\hamlet1.txt')

print(f.read())

IO异常

正常的文件读取使用的过程是,打开文件,建立文件对象,读取内容或者写入内容,关闭文件对象释放资源。但是过程中可能出现异常情况,导致的一个典型错误是文件对象不能正常关闭,系统资源得不到释放。

因此要捕捉异常,处理类似释放资源的工作。

第一种方法:使用try filnally捕捉错误:

try:
    f =
open(r'd:\test\hamlet12.txt')
   
print(f.read())
finally:
   
if f:
        f.close()

第二种方法:with语句

with open(r'd:\test\hamlet1.txt') as f:
   
print(f.read())

使用with语句不需要关闭语句。

with open(r'd:\test\hamlet1.txt') as f:
   
for line in f.readlines():
       
print(line)

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值