c开发起来比较慢,在做一些测试工具的时候python是一个不错的选择
首先贴一些学习参考的网站
廖雪峰的Python教程
对Python标准库的一个大致认识
使用C语言扩展python
下面是实例分享
一、用python实现断点续传的下载
fdfs的nginx模块有这个功能,用python试了下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import urllib2filename = 'http://172.16.10.129/group1/M00/00/00/rBAKgVQXCoqAIuuxAAABsosmnQU7717.py' httpHandler = urllib2.HTTPHandler(debuglevel=1 ) httpsHandler = urllib2.HTTPSHandler(debuglevel=1 ) opener = urllib2.build_opener(httpHandler, httpsHandler) urllib2.install_opener(opener) try : req = urllib2.Request(filename) req.add_header('Range' , 'bytes=0-40' ) res = urllib2.urlopen(req) data = res.read() print data res.close() except Exception, e: print e
通过在头的Range段增加信息,完成断点续传的下载
二、基于c扩展python的webservice实现的fdfs_monitor
python毕竟运行效率不怎么样,用它比较高级的语言特性来实现webservice
后台数据由C程序的函数来生成,作为SO文件给python来调用
项目在下面
fastdfs_monitor
目前webservice实现了基本功能,能直接从fdfs的tracker中输出一些信息,下面用一个DB把数据存储起来,而后webservice从数据库调用信息来生成页面
形成一些核心信息,供维护者方便的监视集群的运行情况。
三、python的计划任务
python官方有个sched调度的库
只是只能触发一次,我想做个定时任务的,会设计起来比较麻烦,于是找到了APScheduler这个库,感觉还是挺好用的
这个指令可以无脑安装
easy_install apscheduler
贴代码
1 2 3 4 5 6 7 8 9 10 11 12 from datetime import datetimefrom apscheduler.schedulers.blocking import BlockingSchedulersched = BlockingScheduler() def my_job (text ): print (text) sched.add_job(my_job, 'date' , run_date=datetime(2014 , 9 , 18 , 17 , 19 , 0 ), args=['text' ]) sched.start()
这样就会运行起来啦
参考了老外的doc