随笔分类 -  Python学习笔记

学习python的笔记
摘要:本人由于英语渣,在linux底下经常看文档,但是有没有想有道词典这种软件,所以遇到不懂的单词只能手动复制粘贴在网上查找,这样就很不方便,学了python之后,就试着自己尝试下个在命令行下查找单词翻译的脚本。 在我眼里,实现上面这个要求的脚本语言分几块完成: 一是选好一个单词翻译的网站,优先选择GE... 阅读全文
posted @ 2014-07-07 20:51 中大黑熊 阅读(3371) 评论(0) 推荐(0) 编辑
摘要:主要是想通过python之流的脚本语言来进行文件系统的遍历,处理文本以及使用简易数据库的操作。本文基于陈皓的:《程序员技术练级攻略》一.Python csv对于电子表格和数据库导出文件,比较常见的文件格式是.csv,所以python中的csv模块也是一个比较重要的模块。下面介绍csv常用的方法。1.... 阅读全文
posted @ 2014-07-04 20:57 中大黑熊 阅读(6991) 评论(0) 推荐(1) 编辑
摘要:好像好久都没更博文了,没办法,最近各种倒霉事情,搞到最近真的没什么心情,希望之后能够转运吧。言归正传,这次我要做的是基于序列化技术的socket文件传输来无聊练一下手。一.socket文件传输 之前我所做的服务器和客户端的tcp/udp通信都是以字符串流来进行单工的,双工的传输,其实关于文件传输的原... 阅读全文
posted @ 2014-07-03 12:28 中大黑熊 阅读(15255) 评论(1) 推荐(0) 编辑
摘要:好吧,在拜读完《Python网络编程基础》之后,回头再搞一搞16章的网络编程吧。Let‘s go!16.4.修改书上示例的TCP和UDP客户端,使得服务器的名字不要在代码里写死,要允许用户指定一个主机名和端口。只有两个值都没有输入是才使用默认值。难度不大。#tsTclnt.py#!/usr/bin/... 阅读全文
posted @ 2014-06-05 21:19 中大黑熊 阅读(2279) 评论(2) 推荐(0) 编辑
摘要:Django的Session框架对于Django加密,大致使用这样的格式:hashtype$salt$hash原因?一次哈希是一次单向的加密过程,你能容易地计算出一个给定值的哈希码,但是几乎不可能从一个哈希码解出它的原值。如果我们以普通文本存储密码,任何能进入数据库的人都能轻易的获取每个人的密码。 ... 阅读全文
posted @ 2014-04-22 11:23 中大黑熊 阅读(672) 评论(0) 推荐(0) 编辑
摘要:拜读了网上的Django Book,现在来总结一下吧。。。。。。一.Django的配置 非常的蛋疼,由于Django的块组之间耦合度低,这既是它的优点,也是它的缺点。我在Ubuntu所配置的Django的开发环境是:Django1.6+PostgreSQL+Nginx+uwsgi+Memcached... 阅读全文
posted @ 2014-04-21 21:34 中大黑熊 阅读(3649) 评论(0) 推荐(0) 编辑
摘要:有时候你要把抓回来的数据进行提取,过大篇幅的html标签,你若使用正则表达式进行匹配的话,显然是低效的,这时使用python的HTMLParser模块会显得非常方便。据说还有个比较好用的解析器叫:Beautiful Soup,这个以后有机会再说吧,现在本渣连实习都找不到,再搞这个东西估计没法生活了。。。。。。事先说明:我们要解析的html和xhtml的语法是规范的那一种,如果遇到不规范的就gg了,得自己手写正则提取。还有,对于那些转义字符没转义就先不考虑了。。。。。。。关于HTMLParser与SGMLParser:网上看很多大牛说HTMLParser对中文字符的提取很不好,推荐使用SGML. 阅读全文
posted @ 2014-04-02 01:37 中大黑熊 阅读(11128) 评论(2) 推荐(1) 编辑
摘要:继续爬虫的学习,为了致敬http://blog.csdn.net/pleasecallmewhy/article/details/8932310 中why大神的糗事爬虫,我做了一个奇虎新闻的小爬虫,亲测可试,但是我这个爬虫还是单线程的,而且抓取的量也不是很多,而且是最基本的url特性抓取,还没有能力抓取url不变的网站消息。首先说一下我要抓取的网站:360新闻搜索 - 搜一下,知天下 ,通过观察其url,不难看出来是http://sh.qihoo.com/类别/index_页数.html 的结构,隐藏只需要把它抓取回来,依次用正则的方式匹配就行,废话不多说,上码。 1 #!/usr/bin/e 阅读全文
posted @ 2014-03-30 16:31 中大黑熊 阅读(1075) 评论(0) 推荐(0) 编辑
摘要:我也是根据:http://blog.csdn.net/pleasecallmewhy/article/details/8927832 ,来写出豆瓣读书的爬虫,废话不说直接上代码: 1 #!/usr/bin/env python 2 #-*-coding=utf-8-*- 3 4 import urllib2 5 6 #获取豆瓣读书的分页的页面 7 def doubanbook(url,begin,end): 8 for i in range(begin,end+1): 9 filename = str(i) + '.html'10 print 'Do... 阅读全文
posted @ 2014-03-28 13:25 中大黑熊 阅读(1550) 评论(0) 推荐(0) 编辑
摘要:一开始我以为urllib2模块单纯是urllib模块的升级版,因为我看到它们都有urlopen方法,但是经过查找资料,发现两者差别还是很大的。这是我在网上看到的总结:urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以通过urllib模块伪装你的User Agent字符串等(伪装浏览器)。urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。urllib2模块比较优势的地方是urlliburllib2.urlopen可以接受Req 阅读全文
posted @ 2014-03-28 10:51 中大黑熊 阅读(15577) 评论(0) 推荐(1) 编辑
摘要:1.cookielib模块cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源。例如可以利用本模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送。coiokielib模块用到的对象主要有下面几个:CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。其中他们的关系如下:2.urllib2模块说到urllib2模块最强大的部分绝对是它的opener,urllib2模块的 OpenerDirector 操作类。这是一个管理很多处理类(Handler 阅读全文
posted @ 2014-03-28 10:44 中大黑熊 阅读(41743) 评论(0) 推荐(5) 编辑
摘要:现在Python基本入门了,现在开始要进军如何写爬虫了!先把最基本的urllib模块弄懂吧。urllib模块中的方法1.urllib.urlopen(url[,data[,proxies]])打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作。本例试着打开google>>> import urllib>>> f = urllib.urlopen('http://www.google.com.hk/')>>> firstLine = f.readline() #读取html页面的第一行>>> 阅读全文
posted @ 2014-03-27 22:22 中大黑熊 阅读(181275) 评论(3) 推荐(3) 编辑
摘要:正则表达式在脚本语言里是最重要的一部分,这部分的题目真的不容怠慢。开始这部分的题目的解答!15.1识别下列字符串:bat,bit,but,hat,hit和hut。>>> import re>>> pattern='[bh][aiu]t'>>> word='batsasasasa'>>> m=re.search(pattern,word)>>> if m is not None:... m.group()... 'bat'15.2.匹配用一个空格分隔的任意一对 阅读全文
posted @ 2014-03-16 23:31 中大黑熊 阅读(1315) 评论(0) 推荐(0) 编辑
摘要:好久没写过Python了,前一阵子忙这忙那的,都几乎把Python给丢掉了,话不多说,马上开始。9.1.文件过滤。显示一个文件的所有行,并且忽略以井号开头的行。其实这个题目比较基础,用shell语言的话,一行就能搞定。还是做一下吧。用shell语言+正则:dzhwen@deng:~/python文件/Homework/Chapter9$ cat regular_express.txt | grep -v '^#'用python: 1 #!/usr/bin/env python 2 #-*-coding=utf-8-*- 3 4 def show(filename): 5 f = 阅读全文
posted @ 2014-03-11 21:43 中大黑熊 阅读(560) 评论(0) 推荐(0) 编辑
摘要:Chapter8.条件和循环这一章感觉有用的点并不多,在我眼里就只有迭代器,列表解析和生成器表达式值得研究而已。8.2.循环,难度不大。1 #!usr/bin/env python2 #-*-coding=utf-8-*-3 4 def ran(From,To,Increment):5 return range(From,To+Increment,Increment)6 7 if __name__ == '__main__':8 print ran(2,26,4)8.3.range()>>> range(0,10)[0, 1, 2, 3, 4, 5, 6, 7 阅读全文
posted @ 2014-01-17 20:40 中大黑熊 阅读(531) 评论(0) 推荐(0) 编辑
摘要:Chapter7.映像和集合类型最近临到期末,真的被各种复习,各种大作业缠住,想想已经荒废了python的学习1个月了。现在失去了昔日对python的触觉和要写简洁优雅代码的感觉,所以临到期末毅然继续python的学习,还特地花了一个小时把之前写的代码和笔记再看了一遍,我想如果再晚一点的话连python是何物都恐怕不知道了!这一章的习题不知道咋样?但是不管了, let's go !7.1哪个字典方法可以用来把两个字典合并在一起?在命令行下输了help({}),看了下dist的内建方法。发现只有update方法比较贴近,看一下update方法:update(...) | D.updat. 阅读全文
posted @ 2014-01-16 21:57 中大黑熊 阅读(619) 评论(0) 推荐(0) 编辑
摘要:Chapter 6.序列:字符串,列表和元组这章内容比较多啊,看得比较久,而且题目又难很多。6.1鉴定一个字符串是否是另外一个字符串的字串,这道题目不是很确定,好像没有直接的判定吧。直接是否内建的序列函数 in ?1 >>> a = 'or'2 >>> b = 'favorite'3 >>> a in b4 Truestrin模块也有类似的函数,不知道算不算 1 >>> b.count(a) 2 1 3 >>> b.find(a) 4 3 5 >>> b. 阅读全文
posted @ 2013-12-01 16:00 中大黑熊 阅读(1015) 评论(0) 推荐(0) 编辑
摘要:好吧,开始第五章习题:5-2.又是老调重谈,raw_input这个函数真是非常麻烦,返回是str类型,没办法,只能在函数里面使用int内建。(就只是一道简单的两数相乘,哭了) 1 #!/usr/bin/env python 2 #-*-coding=utf-8-*- 3 4 def mul(a,b): 5 return int(a)*int(b) 6 7 if __name__ == '__main__': 8 a = raw_input("输入a:") 9 b = raw_input("输入b:")10 print mul(a,b)5- 阅读全文
posted @ 2013-11-17 18:00 中大黑熊 阅读(874) 评论(0) 推荐(0) 编辑
摘要:对于.py文件,任何一个空的式子都不会有什么输出,如下:1 #!/usr/bin/env python2 #-*-coding=utf-8-*-3 #无任何效果,空语句4 1 + 2 * 4对于i++,++i,i--,--i这种一般语言都能识别的东西,python是不会识别的,注意:--n python只会识别成-(-n),即n 1 #!/usr/bin/env python 2 #-*-coding=utf-8-*- 3 i = 0 4 while i ; 123 bbb 报错a=raw_input() 输入:aaa 输出:aaa 输入:'aaa' 输出:'aaa&# 阅读全文
posted @ 2013-11-13 21:53 中大黑熊 阅读(554) 评论(0) 推荐(0) 编辑
摘要:最近在学习python,后面遇到课本上的一个例子,是一个统计文本当中单词数的简单脚本,源代码如下:# !/usr/bin/python# -*- coding:utf-8 -*-#somescript.py#统计sys.stdin中单词数的简单脚本import systext = sys.stdin.read()words = text.split()wordcount = len(words)print 'Wordcount:',wordcount后面我回头觉得这个例子不太好,它只以空格来分割单词,但是面临这样的一种例子:Your mother was a hamster , 阅读全文
posted @ 2013-09-06 17:30 中大黑熊 阅读(751) 评论(1) 推荐(0) 编辑