正则表达式与python
在Python中有一个非常重要也非常好用的模块re,在import re后,就能够在Python中使用正则表达式,源于此次项目要用正则表达式对html代码提取一定的字符,所以在这也就用些小例子来熟悉一下正则表达式
现在就用最简单的例子
import re
s='<title>http://www.baidu.com</title>'
print re.findall(r'<\w+>(.+)</',s)
运行后结果为
>>>
['http:\\www.baidu.com']
这个相对来说还是比较简单的,但是这个正则表达式还是有比较多的问题
1对于比较复杂的字符串,比如嵌套了标签的字符串,就没有办法了,因为只能够判断最外一层的<></>标记而已
2是这个是判断具有类似<></>标记的字符串,对于实际的html中的提取,还是要加上具体的值,比如是title,还是head
import re
s='<head><title>http:\\www.baidu.com</title></head>'
print re.findall(r'title>(.+)</title',s)
运行后得到
>>>
['http:\\www.baidu.com']
虽然在这个比较简单的代码中我们解决了上述两个问题,但是针对html中更加复杂的代码,我觉得还是会有很多的问题
不过今天也就是简单的熟悉一下正则表达式,所以也就不再去深入研究,经过队员的讨论后在探讨解决问题的方案
下面给出一个判断邮箱地址是否合法的正则表达式
邮箱主要包括@和.,所以在判断的时候也只需假如这两个条件就可以了
import re
s='zhuangruln@gmail.com zhuangasdsad@126.com zhusdandsai@adsd'
print re.findall(r'(\w+@\w+\.\w+)',s)
运行结果
['zhuangruln@gmail.com', 'zhuangasdsad@126.com']
>>>
相关文档:
import Queue, threading, sys
from threading import Thread
import time,urllib
# working thread
class Worker(Thread):
worker_count = 0
def __init__( self, workQueue, resultQueue, timeout = 0, **kwds):
Thread.__init__( self, **kwds ) ......
由subprocess创建一个进程,然后进行监视
每一秒钟查看一次,如果正在运行,打印pid和running,如果已停止,,继续执行任务并打印Termined
shell和stdout均设置为False
也许这对做病毒的守护进程很好
#!/usr/bin/env python
import subprocess , sys , time
p=subprocess.Popen(['ping','127.0.0.1','-n','10'], she ......
操作系统:linux debian 4.0, python版本2.5
s1:安装python2.5-dev。因为Python.h是在dev包中才有。
test@debian:~/test_python_c$ aptitude search python2.5-dev
p python2.5-dev - Header files and a static library for Python.
test@debian:~/test_python_c$ sudo aptitude install python2 ......
一般安装的都是Python22版,wincvs1.3需要python2.1版本及以上。但是启动过程找不到,网上搜索的方法不大适用。最后经过试验发现,把Python22安装路径下的python22.dll拷贝到wincvs的安装目录下。运行wincvs,ok。觉得这个方法好用的给顶下! ......
http://www.itzn.cn/html/jiaoben/python-perl-VBA/200812/19-3283.html
字符串是使用静态的方式进行存储,只能读而不能直接修改字符内容。特别将一堆对字符串并在一起的时候,虽然可以直接相加,听说这样的速度奇慢,只有用其它函数的方式进行,好在也不太麻烦。
比如用 print ','.join(datelist)
就可以将date ......