python爬虫学习——文件操作,异常处理
文件操作
'''
f = open("a.txt","w") #打开一个文件, w模式(写),如果文件不存在就在当前目录下创建
f.write("hello world,i am here") #将字符串写入文件中
f.close() #关闭文件
'''
'''
#read方法:读取指定的字符,开始定位在文件的开头,每执行一次,就向后移动指定的字符数
f = open("a.txt","r")
content = f.read(5)
print(content)
content = f.read(100)
print(content)
f.close()
'''
'''
f = open("a.txt","r")
content = f.readlines() #一次性读取全部文件为列表,每行为一个字符串元素
#print(content)
i = 1;
for temp in content:
print("%d:%s"%(i,temp))
i += 1
f.close()
'''
'''
f = open("a.txt","r")
content = f.readline() #读取文件的一行
print("1:%s"%content,end="")
content = f.readline()
print("2:%s"%content,end="")
f.close()
'''
'''
#文件的重命名
import os
os.rename("a.txt","test.txt")
'''
异常处理
对能预料到的错误进行处理
'''
print("------test1------")
f = open("a.txt") #报错,之后的代码不会被执行
print("------test2------")
'''
'''
try:
print("------test1------")
f = open("a.txt")
print("------test2------")
except IOError: #文件没找到,属于IO异常(输入输出异常)
pass #捕获异常后,执行的代码
'''
'''
try:
print(num)
#except IOError: #出现的异常要与捕获的异常类型一致
except NameError:
print("出现了错误")
'''
'''
try:
print("------test1------")
f = open("test1.txt")
print("------test2------")
print(num)
except (IOError,NameError): #当有多种异常时,要写明可能产生的所有错误类型
print("出现了错误")
'''
'''
#获取错误描述
try:
print("------test1------")
f = open("test.txt")
print("------test2------")
print(num)
except (IOError,NameError) as result:
print("出现了错误")
print(result)
'''
'''
try:
print("------test1------")
f = open("test1.txt")
print("------test2------")
print(num)
except Exception as result: #Exception可以承接所有异常
print("出现了错误")
print(result)
'''
#try...finally的嵌套
try:
f = open("test1.txt") #这里的f是局部变量,如果不嵌套就会发生错误
try:
while True:
content = f.readline()
if len(content) == 0:
break
time.sleep(2)
print(content)
finally:
f.close()
print("文件关闭")
except Exception:
print("发生错误!")
python爬虫学习——文件操作,异常处理的更多相关文章
- Day3 Python基础学习——文件操作、函数
一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...
- Python基础学习——文件操作、函数
一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...
- python学习——文件操作
打开文件 f = open(文件名, 文件打开模式,文件编码) ‘w’:只写模式,它是只能写,而不能读的.如果用’w’模式打开一个不存在的文件,则会创建新的文件开始写入:如果用’w’模式打开一个已存在 ...
- python爬虫学习(1) —— 从urllib说起
0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...
- Python爬虫学习第一记 (翻译小助手)
1 # Python爬虫学习第一记 8.24 (代码有点小,请放大看吧) 2 3 #实现有道翻译,模块一: $fanyi.py 4 5 import urllib.request 6 import u ...
- 《Python爬虫学习系列教程》学习笔记
http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己 ...
- [Python爬虫]使用Selenium操作浏览器订购火车票
这个专题主要说的是Python在爬虫方面的应用,包括爬取和处理部分 [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium) [Python爬虫]使用Python爬取静态网页-斗 ...
- python爬虫学习笔记(一)——环境配置(windows系统)
在进行python爬虫学习前,需要进行如下准备工作: python3+pip官方配置 1.Anaconda(推荐,包括python和相关库) [推荐地址:清华镜像] https://mirrors ...
- python 历险记(三)— python 的常用文件操作
目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...
- [转]《Python爬虫学习系列教程》
<Python爬虫学习系列教程>学习笔记 http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多. ...
随机推荐
- (C++) C++虚函数性能分析
class baseA { public: virtual float mulTwo(float a, float b) = 0; virtual ~baseA() = default; }; cla ...
- pyinstaller打包TVM/RPC相关脚本及DSO文件
0. 创建anaconda env numpy中MKL/BLAS库占用很大空间.使用如下命令创建新环境,并替换numpy. conda create -n extranumpy python=3.8. ...
- (Java)设计模式:创建型
前言 这篇内容是从另一篇:UML建模.设计原则 中分离出来的,原本这个创建型设计模式是和其放在一起的 但是:把这篇创建型设计模式放在一起让我贼别扭,看起来贼不舒服,越看念头越不通达,导致老衲躺在床上脑 ...
- 关于CSDN微信登录接口的研究
代码 import requests import re from threading import Thread import time import requests from io import ...
- JavaScript合集(流程控制语句)
流程控制 条件判断语句 条件分支语句 循环语句 条件判断语句 if语句 语法: if(条件表达式){ 语句 } ------- if(a > 10){ alert('a比10大') } if-e ...
- JavaScript入门②-函数(1)基础{浅出}
01.JS函数基础 1.1.函数定义 函数(方法)就是一段定义好的逻辑代码,函数本身也是一个object引用对象.三种函数构造方式: ① 函数申明:function 函数名(参数){代码},申明函数有 ...
- JavaScript入门③-函数(2)原理{深入}执行上下文
00.头痛的JS闭包.词法作用域? 被JavaScript的闭包.上下文.嵌套函数.this搞得很头痛,这语言设计的,感觉比较混乱,先勉强理解总结一下. 为什么有闭包这么个东西?闭包包的是什么? 什么 ...
- Java9-17新特性一览,了解少于3个你可能脱节了
前言 Java8出来这么多年后,已经成为企业最成熟稳定的版本,相信绝大部分公司用的还是这个版本,但是一眨眼今年Java19都出来了,相信很多Java工程师忙于学习工作对新特性没什么了解,有的话也仅限于 ...
- SpringBoot源码2——SpringBoot x Mybatis 原理解析(如何整合,事务如何交由spring管理,mybatis如何进行数据库操作)
阅读本文需要spring源码知识,和springboot相关源码知识 对于springboot 整合mybatis,以及mybatis源码关系不密切的知识,本文将简单带过 系列文章目录和关于我 涉及到 ...
- [OpenCV实战]48 基于OpenCV实现图像质量评价
本文主要介绍基于OpenCV contrib中的quality模块实现图像质量评价.图像质量评估Image Quality Analysis简称IQA,主要通过数学度量方法来评价图像质量的好坏. 本文 ...