上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: var_1=2var_2=3var_res="$[$var_1+$var_2]"echo $_var_res #print 5 阅读全文
posted @ 2013-05-03 15:57 践道者 阅读(156) 评论(0) 推荐(0) 编辑
摘要: #!/bin/bash#print hello world in the console windowa="Hello,World"echo "A is:" $a赋值符号左右两边不能有空格,否则语法错误。num=2echo "this is ${num}d"用{}将变量名括起来,起到确定变量名的作用获取命令行参数总数 $#后台执行,模拟多进程#!/bin/bashrsync .... &rsync .... &... 阅读全文
posted @ 2013-05-03 15:46 践道者 阅读(237) 评论(0) 推荐(0) 编辑
摘要: #coding=utf8import sysdef test(): gf = sys._getframe print dir(gf()) print 'function name:',sys._getframe(1).f_code.co_name if sys._getframe(1).f_code.co_name != 'a': print 'Error' else: print 'Ok' def a(): test()def b(): test()class t(object): def a(self): ... 阅读全文
posted @ 2013-04-23 17:21 践道者 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 前几章一直是分析proxy.py的小函数,没有从总体看问题,现在回过头,先从主函数main开始逐步分析,def main(): global __file__ __file__ = os.path.abspath(__file__) if os.path.islink(__file__): #是否为符号链接,linux 下符号链接的命令是ln 应该相当于windows下的快捷方式吧 __file__ = getattr(os, 'readlink', lambda x: x)(__file__) #转换成真实链接地址 os.chdir(os.path.di... 阅读全文
posted @ 2013-04-16 15:10 践道者 阅读(787) 评论(0) 推荐(0) 编辑
摘要: class ProxyUtil(object): """ProxyUtil module, based on urllib2""" @staticmethod def parse_proxy(proxy): return urllib2._parse_proxy(proxy) @staticmethod def get_system_proxy(): proxies = urllib2.getproxies() return proxies.get('https') or proxies.get('http&# 阅读全文
posted @ 2013-04-16 13:55 践道者 阅读(668) 评论(0) 推荐(0) 编辑
摘要: class CertUtil(object): """CertUtil module, based on mitmproxy""" 来源:http://www.cnblogs.com/bjdxy/archive/2013/04/16/3023739.html ''' 数字证书生成类,由于涉及专业数字证书相关知识,因此不再详述 主要步骤是 1.从磁盘上的证书文件中读取证书数据 2.获取CertContext 3.获取证书信息 4.创建临时密钥容器 5.向容器中导入公钥,获取公钥句柄 6.导出公钥(最好采用二次调用 阅读全文
posted @ 2013-04-16 11:41 践道者 阅读(2635) 评论(3) 推荐(1) 编辑
摘要: class Logging(type(sys)): #继承自sys模块? ''' 定义相关类常量,目的作为日志等级标识 最严重为CRITICAL,最松为NOTSET ''' CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN = WARNING INFO = 20 DEBUG = 10 NOTSET = 0 def __init__(self, *args, **kwargs): self.level = self.__class__.... 阅读全文
posted @ 2013-04-15 16:25 践道者 阅读(882) 评论(0) 推荐(0) 编辑
摘要: 从96行开始,非常简单 #为了兼容,把相关gevent模块名增加进sys.modules里,为gevent创建相关子模块 gevent = GeventImport('gevent') gevent.pool = GeventImport('gevent.pool') gevent.queue = GeventImport('gevent.queue') gevent.coros = GeventImport('gevent.coros') gevent.server = GeventImport('gevent.serv 阅读全文
posted @ 2013-04-15 11:59 践道者 阅读(1310) 评论(0) 推荐(0) 编辑
摘要: 从53行开始分析 1 def GeventImport(name): 2 ''' 3 本函数主要看type(sys)(name)的用法 4 意思是给sys对象生成name属性并加入到sys.modules字典中 5 以下是一个例子: 6 class A(object): 7 def __init__(self, name): 8 self.name = name 9 a = A("Jack")10 b = type(a)... 阅读全文
posted @ 2013-04-15 11:45 践道者 阅读(1319) 评论(0) 推荐(0) 编辑
摘要: 逐句分析goagent源代码,罗嗦的文字就不说了,直接上代码,首先要分析的是最重要的文件proxy.py 前51行代码try: import gevent #gevent模块 import gevent.core import gevent.queue #异步队列 import gevent.coros #原始锁? import gevent.server #TCP/SSL server import gevent.monkey gevent.monkey.patch_all(dns=gevent.version_info[0] >= 1) #将所有... 阅读全文
posted @ 2013-04-15 10:54 践道者 阅读(2808) 评论(0) 推荐(0) 编辑
摘要: #coding=utf8import cStringIOimport StringIOimport timevalues = []items = ['1,2,31,2,31,2,31,2,3'] * 10000000#print itemsst = float(time.time())for i in items: values.append(i)news = ''.join(values)print len(news)print 'list append cost time:%s'%(float(time.time()) - st)strio 阅读全文
posted @ 2013-04-12 16:44 践道者 阅读(11364) 评论(0) 推荐(0) 编辑
摘要: #coding=utf8import sys, logginglogging.basicConfig(level=logging.INFO, format='levelname:%(levelname)s filename: %(filename)s ' 'outputNumber: [%(lineno)d] thread: %(threadName)s output msg: %(message)s' ' - %(asctime)s', date... 阅读全文
posted @ 2013-04-12 15:55 践道者 阅读(22795) 评论(0) 推荐(0) 编辑
摘要: sys.stderr 是用来重定向标准错误信息的,如import sysprint 'this error'sys.stderr.write("this is a error message")在linux 运行时python xx.py 2>/error.log由于命令行的2只有记录错误到文件,所以 error.log就会记录sys.stderr输出的错误信息,而不会记录print 的,当然也能记录到raise文件文件描述符输入文件0输出文件1错误输出文件2如goagent的proxy.py模块对sys.stderr的用法try: import ge 阅读全文
posted @ 2013-04-12 13:48 践道者 阅读(15170) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-04-11 17:44 践道者 阅读(189) 评论(0) 推荐(0) 编辑
摘要: import StringIO as SIOs1 = "Hello"print id(s1)s2 = "Hello" + s1print id(s2)sp = SIO.StringIO()sp.write("Hello")print sp.getvalue()print id(sp)sp.write("Leon")print sp.getvalue()print id(sp)exit()主要进行字符串数据缓存,以便循环利用 阅读全文
posted @ 2013-04-09 13:56 践道者 阅读(681) 评论(0) 推荐(0) 编辑
摘要: #coding=utf8tp = [(1,221,331),(2,222,332),(3,223,333), (4,224,334), (5,225,335),(6,226,336)]ids = [1,2,3,4,5,6]i_ids = [1,2,4]u_ids = [3,5,6]i_list, u_list = [],[]def generate(i_ids, u_ids, dataList): #flag:标识,1则mainIds为insert, 0则mainIds为update #dataList:数据列表 #i_ids:insert id 列表 #u_ids:u... 阅读全文
posted @ 2013-03-29 15:10 践道者 阅读(446) 评论(0) 推荐(0) 编辑
摘要: using System;namespace inherit{ class baseClass { public virtual string getName() { return "leon"; } public virtual void setName(string name) { } } class SubClass:baseClass { public SubClass(string name) ... 阅读全文
posted @ 2013-03-24 22:08 践道者 阅读(498) 评论(0) 推荐(0) 编辑
摘要: /* * Created by SharpDevelop. * User: Administrator * Date: 2013-3-24 * Time: 20:29 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */using System;namespace construct{ class Car { private string name; private int luen; public Car(string name, int luen) { Co... 阅读全文
posted @ 2013-03-24 20:38 践道者 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 变量声明:int number;number = 10;或int number = 10;常量声明:const int number = 10; //必须在声明时进行初始化预定义数据类型有两种:值类型(13个)、引用类型(两个:string,object)值类型:1、整型2、浮点3、decimal decimal memory = 1000 decimal memory2 = 1000.21m //如果有小数点后面要加m标识为decimal4、bool5、字符型(char)引用类型:1、object2、string 阅读全文
posted @ 2013-03-24 00:46 践道者 阅读(277) 评论(0) 推荐(0) 编辑
摘要: #coding=utf8def func1(count): for i in range(count): print i print i #4func1(5)def func2(count): def f(): for i in range(count): print i f() print i #抛错func2(5)python和js一样,应该是没有块级作用域的,可以用函数的函数来模拟块级作用域,以免变量过多造成数据污染。而js模拟块级作用域的方法是用函数表达式+括号:function outputFunc(co... 阅读全文
posted @ 2013-03-23 00:02 践道者 阅读(778) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页