Python编程语言中有许多应用方式和其他我们所熟悉的预言有很大的不同之处。不过这一语言的主要特点就在于简单易用,所以想学习起来并不困难。我们在这里可以先来一起了解一下Python构造列表的相关语法。
Python构造列表语法代码示例:
- #!/usr/bin/env python
- # -*- coding: GBK -*-
- import urllib
- from sgmllib import SGMLParser
- class URLLister(SGMLParser):
- def reset(self):
- SGMLParser.reset(self)
- self.urls = []
- def start_a(self, attrs):
- href = [v for k, v in attrs if k == 'href']
- if href:
- self.urls.extend(href)
- url = r'http://www.sinc.sunysb.edu/Clubs/buddhism/
JinGangJingShuoShenMo/'- sock = urllib.urlopen(url)
- htmlSource = sock.read()
- sock.close()
- #print htmlSource
- f = file('jingangjing.html', 'w')
- f.write(htmlSource)
- f.close()
- mypath = r'http://www.sinc.sunysb.edu/Clubs/buddhism/
JinGangJingShuoShenMo/'- parser = URLLister()
- parser.feed(htmlSource)
- for url in parser.urls:
- myurl = mypath + url
- print "get: " + myurl
- sock2 = urllib.urlopen(myurl)
- html2 = sock2.read()
- sock2.close()
- # 保存到文件
- print "save as: " + url
- f2 = file(url, 'w')
- f2.write(html2)
- f2.close()
[] 的语法是 python 中的 list comprehension, 用于Python构造列表。
- href = [v for k, v in attrs if k == 'href']
大致上相当于:
- href = []
- for k,v in attrs:
- if k == 'href':
- href.append(v)
以上就是我们为大家介绍的Python构造列表的相关语法应用。
【编辑推荐】