随笔分类 -  Python

摘要:不怎么会用PYTHON写。。今天试了一下。#!/usr/bin/python# vim: set fileencoding=utf-8:import sysimport urllib2import reimport sqlite3import hashlibimport randomfrom BeautifulSoup import BeautifulSoupclass SpriderUrl: # 初始化 def __init__(self,url,domain_name): self.url=url self.domain_name=domain_na... 阅读全文
posted @ 2013-12-17 16:14 墨迹哥's 阅读(464) 评论(0) 推荐(0)
摘要:#!/usr/bin/python#-*- coding:utf-8 -*-import MySQLdb as mdbcon=Nonetry: con=mdb.connect('localhost','root','123','test') cur=con.cursor() cur.execute("select version()") data=cur.fetchone() print datafinally: if con: con.close() 阅读全文
posted @ 2013-12-05 09:39 墨迹哥's 阅读(193) 评论(0) 推荐(0)
摘要:这几天在忙着绿盟扫描器的事情,今天来了个需求,需要对API返回的XML进行解析.并读取指定数据.于是就有了这么个脚本.本来准备用Perl写,但是不知道为什么Perl链接HTTPS时,总说有错误.所以就用这个不太熟悉的语言来写了,Python写得不多,今天也就尝试尝试...写了1个多小时,初步学会了怎么分析XML.明天实地测试下,看看好不好用吧..#!/usr/bin/python# -*- coding:utf-8 -*-from xml.dom import minidomdom=minidom.parse('1.xml')root=dom.documentElementde 阅读全文
posted @ 2013-12-02 23:50 墨迹哥's 阅读(403) 评论(0) 推荐(0)
摘要:改进了一下,去掉哪些没用的。留下的都是些有用的。接着要拔下来,然后放到TXT。。#coding=utf-8import urllib2import refrom sgmllib import SGMLParser;class CatCh(SGMLParser): def reset(self): self.url=[] SGMLParser.reset(self) def start_a(self,attrs): href = [v for k, v in attrs if k == 'href'] if href: self.... 阅读全文
posted @ 2013-06-28 14:17 墨迹哥's 阅读(468) 评论(0) 推荐(0)
摘要:那天在新浪微博上看到北北出的题目,由于最近也在做类似的爬虫研究,所以就有了这个实验。后来在QQ上和北北说了下,要求是啥都抓,就抓乌云的。。。然后就开始了。。第一个版本如下,后续不断改进直到满足需求:import urllib2;from sgmllib import SGMLParser;class CatCh(SGMLParser): def reset(self): self.url=[] SGMLParser.reset(self) def start_a(self,attrs): href = [v for k, v in attrs if k ... 阅读全文
posted @ 2013-06-28 13:30 墨迹哥's 阅读(646) 评论(0) 推荐(1)
摘要:一开始都无法理解SELF是啥意思,昨晚睡觉的时候不停在幻想,到底这是啥东西呢。翻了下大脑JAVA中的构造器的代码,突然之间领悟了。SELF就好比是JAVA中的THIS。一瞬间就理解了。#coding=utf-8class test: def __init__(self,name,password): self.name=name self.password=password def sayhi(self): print "hello:",self.name,"password:",self.passw... 阅读全文
posted @ 2013-06-23 14:05 墨迹哥's 阅读(441) 评论(0) 推荐(0)
摘要:网站一大堆抄袭,蛋腾死了。。找了很久都没有LINUX完美破解的。。后来一个哥们告诉我的方法。。发出来。。首先查看一下sublime-text 2安装路径,然后用vim打开sublime_text文件# whereis sublime-text-2输出结果:# sublime-text-2:/usr/bin/sublime-text-2 /usr/lib/sublime-text-2 /usr/bin/X11/sublime-text-2 --这里是两条信息,第二个/usr/前面有一个空格的然后,进入第一个路径下,查看有哪些文件,输入:# cd /usr/lib/sublime-te... 阅读全文
posted @ 2013-06-18 14:36 墨迹哥's 阅读(423) 评论(0) 推荐(0)
摘要:这里有两个Regex库的使用方法,一个是编译表达式,一个是多重匹配,其中后面那个值得注意。#!/usr/bin/python#coding=gbkimport reregexes=[re.compile(p) for p in ['this','that'] ]text='Does this the match?'print 'Text: %r\n' % textfor regex in regexes: print 'seeking "%s" ->' % regex.pattern, # 阅读全文
posted @ 2013-03-09 23:34 墨迹哥's 阅读(323) 评论(0) 推荐(0)
摘要:今天开始学习Python标准库,同时复习前面所学的。该脚本实现的功能是通过类来调用,并搜索指定上下文,#!/usr/bin/pythonimport reclass Regex_input: def __init__(self,task,source): self.source=source self.task=task def regex(self): opt=re.search(self.task,self.source) if opt==None: print 'No Found the task:... 阅读全文
posted @ 2013-03-09 21:37 墨迹哥's 阅读(425) 评论(0) 推荐(0)
摘要:#!/usr/bin/pythonmylist=['item']assert len(mylist)>=1mylist.pop()assert len(mylist)>=1 阅读全文
posted @ 2013-03-09 13:03 墨迹哥's 阅读(224) 评论(0) 推荐(0)
摘要:lambda 只能接单表达式。。#!/usr/bin/python#coding=gbk#创建新的函数对象,并在运行时返回def make_repeater(n): return lambda s: s*ndef inter_up(k): return lambda s: s+ktwice=make_repeater(2)twice2=inter_up('word')print twice2('hello,')print twice('hello')print twice(10) 阅读全文
posted @ 2013-03-09 12:55 墨迹哥's 阅读(332) 评论(0) 推荐(0)
摘要:有注释#!/usr/bin/python#coding=gbklistone=[2,3,4,5,6]#复制并乘以大于2的数字listtwo=[2*i for i in listone]print listtwo#把数字放入这个列表listthree=[i for i in listone]print listthree 阅读全文
posted @ 2013-03-09 11:41 墨迹哥's 阅读(257) 评论(0) 推荐(0)
摘要:#!/usr/bin/pythonimport sysdef readfile(filename): f=file(filename) while True: line=f.readline() if len(line)==0: break print line, f.close()if len(sys.argv) < 2: print 'No file' sys.exit()if sys.argv[1].startswith('--'): option=sys.argv[1][2:] i... 阅读全文
posted @ 2013-03-08 23:30 墨迹哥's 阅读(450) 评论(0) 推荐(0)
摘要:finally关键字的意思是只要异常,到最后都会执行语句块。。。#!/usr/bin/pythonimport timetry: f=file('poem.txt') while True: line=f.readline() if len(line)==0: break time.sleep(2) print line,finally: f.close() print 'file.close' 阅读全文
posted @ 2013-03-08 00:06 墨迹哥's 阅读(1015) 评论(0) 推荐(0)
摘要:这个版本应该是比较舒服的。。案例那个有点头疼。。#!/usr/bin/pythonclass ShortInputException(Exception): def __init__(self,length,altease): Exception.__init__(self) self.length=length self.altease=alteasetry: s=raw_input('Enter->:') if len(s) < 3: raise ShortInputException(len(s),3)except... 阅读全文
posted @ 2013-03-07 23:53 墨迹哥's 阅读(230) 评论(0) 推荐(0)
摘要:这个自定义异常的案例里面,有个关键字没有做解释。果断GOOGLE一下,raise的意思是抛出指定的异常。其他的倒没什么,不过这种指定异常应该挺特殊的,但是没有想到该在什么场景使用。。#!/usr/bin/python#coding=gbk#自定义一个异常class ShortInputException(Exception): def __init__(self,length,atleast): Exception.__init__(self) self.length=length self.atleast=atleasttry: #这里主... 阅读全文
posted @ 2013-03-07 13:57 墨迹哥's 阅读(456) 评论(0) 推荐(0)
摘要:try-except 可以应用所有错误,同时也可以指定错误的类型进行过滤。除非特殊需求,对于我来说就不需要特定的了。。。#!/usr/bin/pythonimport systry: s=raw_input('Enter:')except: sys.exit()下面这个案例是简明教程的,但是一般来说,上面的够用了。特定的错误有的时候无法估计,除非你很懂。。 #!/usr/bin/python# Filename: try_except.pyimport systry: s = raw_input('Enter something --> ')except 阅读全文
posted @ 2013-03-07 12:18 墨迹哥's 阅读(210) 评论(0) 推荐(0)
摘要:存储数组/持久的方式。#!/usr/bin/pythonimport cPickle as pshoplist_file='shoplist.data'shoplist=['dede','dede2','dede3']f=file(shoplist_file,'w')p.dump(shoplist,f)f.close()del shoplistf=file(shoplist_file)print p.load(f) 阅读全文
posted @ 2013-03-06 22:57 墨迹哥's 阅读(187) 评论(0) 推荐(0)
摘要:一个简单的小练习,后面还要改成输入的。。#!/usr/bin/python#coding=gbkclass User: def __init__(self,username,password,age,sex): self.username=username self.password=password self.age=age self.sex=sex def tell(self): print 'UserContext:Name:%s,Pass:%s,Age:%s,Sex:%s' % (self.usernam... 阅读全文
posted @ 2013-03-06 13:27 墨迹哥's 阅读(422) 评论(0) 推荐(0)
摘要:Python当中的继承有点类似于JAVA。感觉特别像~可能学过JAVA以后对这个比较好理解吧。不过Python更加清晰一点,比起Perl面对对象,PYTHON看起来舒服,并且让人感觉一看就懂~下面这个实例是简明教程里面的,我初步理解了一下,一会再自己写个练习,熟练下。。。#!/usr/bin/python#coding=gbk#创建父类,该类会被下面的子类所继承class SchoolMember: #在父类里面有两个变量,当继承以后,子类同样有效 def __init__(self,name,age): self.name=name self.age=... 阅读全文
posted @ 2013-03-06 13:00 墨迹哥's 阅读(598) 评论(0) 推荐(0)