您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页dive into python (3)

dive into python (3)

来源:爱够旅游网

1、Preface

2、列表解析 #params是字典

return ";".join(["%s=%s" % (k, v) for (k, v) in params.items()])   

3、列表过滤 

(filter:可以完成同样的功能),

思想:再循环中改变数据结构是很容易出问题的,所以多用map,filter等列表解析,列表过滤等内置函数。以数据为中心的编程思想,不要过多的花费时间在程序中函数的的每一个步骤。

elem forelem in li if li.count(elem)==1 

4、压缩空格

processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)

5、列出目录下(C:\\)下所有子目录

dirname = "c:"
[f for f in os.listdir(dirname) if os.path.isdir(os.path.join(dilename,f))]
firname = "c:"
[f for f in os.listdir(filename) if os.path.isfile(os.path.join(dilename,f))] 

6、处理html:

import urllib                   #导入urllib模块
sock=urllib.urlopen(http://diveintopython.org/) #urlopen取回网页的整个文本对象,赋给sock
htmlSource=sock.read()          #返回一个字符串,将网页的html读到htmlSource中
sock.close()               #关闭文本对象
print htmlSource           #打印html内容

7、爬虫常用的:(这段代码主要是把一段URL的内容用特定的分析器可能是某种正则格式读出你需要的特性的内容)

import urllib 
    usock = urllib.urlopen("http://diveintopython.org/")
    parser = URLLister()         
parser.feed(usock.read())      
#返回的HTML转换成字符串,feed()是分析器表示调用start_a方法,url信息 保存在parse.urls中      
    parser.close()
    usock.close()
    for url in parser.urls:
        print url, "Dkf"

</pre></p></div></blockquote><h2>8、解析类文件对象:</h2></div><div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><pre name="code" class="python">import urllib
import xml.dom import minidom
usock=urllib.urlopen(http://....)               
#usock是类文件对象
xmldoc=minidom.parse(usock)
#parse解析的是usock这个类文件对象,minidom.parse()会自动调用该对象的read函数,他不知道web上的内容等
usock.close()
print xmldoc.toxml()

9、动态函数:单词变复数:

import re


def rules(language):
    for line in file('D:\Project\python\dive into python\\rules.%s' % language):
        pattern, search, replace = line.split()
        yield lambda word: re.search(pattern, word) and re.sub(search, replace, word)


def plural(noun, language='en'):
    for applyRule in rules(language):
        result = applyRule(noun)
        if result:
            print result





因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务