手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > python教程 > 文章 当前位置: python教程 > 文章

廖雪峰python爬虫教程廖雪峰python实战课后题穆雪峰python教程

时间:2022-05-08    点击: 次    来源:网络    作者:佚名 - 小 + 大

廖雪峰python爬虫教程廖雪峰python实战课后题穆雪峰python教程


下载地址

https://share.weiyun.com/RS9A6Xk6


资料目录

廖雪峰python视频教程1 爬虫的基本框架及知识(day1-day15)
廖雪峰python视频教程2 scapy框架及爬虫进阶(day16-day20)
廖雪峰python视频教程3 爬虫高级知识及就业培训(day21-day28)
廖雪峰python教程官网doc
廖雪峰 2018年官方最新Python3教程(一)pdf
廖雪峰 2018官方Python3教程(二)pdf
廖雪峰2018官方Python3教程(三)pdf
廖雪峰python学习笔记(入门+进阶).doc
Python3高级教程(开课吧)pdf
Python3零基础教程(开课吧)pdf
利用Python进行数据分析(中文版)pdf
廖雪峰商业爬虫案例
廖雪峰商业爬虫课件
廖雪峰商业爬虫练习答案
爬虫第一节-爬虫第十四节
Python爬虫预习书籍
python环境和pychram


举例

文件迭代器
有一个文件,名称是208.txt,其内容如下:
Learn python with qiwsir.
There is free python course.
The website is:
http://qiwsir.github.io
Its language is Chinese.
用迭代器来操作这个文件:
>>> f = open("208.txt")
>>> f.readline() #读第一行
'Learn python with qiwsir.\n'
>>> f.readline() #读第二行
'There is free python course.\n'
>>> f.readline() #读第三行
'The website is:\n'
>>> f.readline() #读第四行
'http://qiwsir.github.io\n'
>>> f.readline() #读第五行,也就是最后一行
'Its language is Chinese.\n'
>>> f.readline() #无内容了,但是不报错,返回空
''
以上演示的是用readline()一行一行地读。当然,在实际操作中,我们是绝对不能这样做的,一定要让它自动进行,比较常用的方法是:
>>> for line in f:
... print line,
这段代码之所没有打印出东西来,是因为经过前面的迭代,指针已经移到了最后。这就是迭代的一个特点,要小心指针的位置。
>>> f = open("208.txt") #从头再来
>>> for line in f:
... print line,
...
Learn python with qiwsir.
There is free python course.
The website is:
http://qiwsir.github.io
Its language is Chinese.
这种方法是读取文件常用的。另外一个readlines()也可以。但是,需要小心操作。
上面过程用next()也能够实现。
>>> f = open("208.txt")
>>> f.next()
'Learn python with qiwsir.\n'
>>> f.next()
'There is free python course.\n'
>>> f.next()
'The website is:\n'
>>> f.next()
'http://qiwsir.github.io\n'
>>> f.next()
'Its language is Chinese.\n'
>>> f.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
如果用next(),就可以直接读取每行的内容,这说明文件是天然的可迭代对象,不需要用iter()转换。
再有,我们用for来实现迭代,在本质上就是自动调用next(),只不过这个工作已经让for偷偷地替我们干了,到这里应该给for取另外一个名字:雷锋。
列表解析也能够作为迭代工具,在研究列表的时候,想必已经清楚了。那么对文件,是否可以用?试一试:
>>> [ line for line in open('208.txt') ]
['Learn python with qiwsir.\n', 'There is free python course.\n', 'The website is:\n'
至此,看官难道还不为列表解析的强大魅力所折服吗?真的很强大。
其实,迭代器远远不止上述这么简单,下面我们随便列举一些,在Python中还可以这样得到迭代对象中的元素。
>>> list(open('208.txt'))
['Learn python with qiwsir.\n', 'There is free python course.\n', 'The website is:\n'
>>> tuple(open('208.txt'))
('Learn python with qiwsir.\n', 'There is free python course.\n', 'The website is:\n'
>>> "$$$".join(open('208.txt'))
'Learn python with qiwsir.\n$$$There is free python course.\n$$$The website is:\n$$$h
>>> a,b,c,d,e = open("208.txt")
>>> a
'Learn python with qiwsir.\n'
>>> b
'There is free python course.\n'
>>> c
'The website is:\n'
>>> d
'http://qiwsir.github.io\n'
>>> e
'Its language is Chinese.\n'
上述方式在编程实践中不一定用得上,只是秀一下可以这么做,但不是非要这么做。
字典是否可迭代?可以。读者不妨自己仿照前面的方法摸索一下(其实前面已经用for迭代过了,这次请用iter()...next()手动一步一步迭代)。

上一篇:廖雪峰python官方教程16期全套入门教程免费缪雪峰python基础教程

下一篇:没有了

推荐阅读
声明 | 联系我们 | 关于我们
备案ICP编号  |   QQ:2151239526  |  地址:北京市东城区  |  电话:16605168200  |