
Python
ace_fei
调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步。
展开
-
如何获取 Python 模块的路径?
1import a_module2print a_module.__file__上述代码将范围 .pyc 文件被加载的路径,如果需要跨平台解决方案,可用下面代码:1import os2path =os.path.dirname(amodule.__file__)转载 2012-07-19 11:23:05 · 57257 阅读 · 0 评论 -
Python填坑记——对象引用
首先,我们来了解一下python的基础概念:1. Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象是指,对象的内容是可变的,例如list。而不可变的对象则相反,表示其内容不可变。不可变对象:int,string,float,tuple可变对象 :list,dictionary2. Python函数的参数传递采用的是“传对象引用”的方式。原创 2013-11-26 17:18:14 · 4577 阅读 · 0 评论 -
BeautifulSoup4 UserWarning
错误描述:/opt/ActivePython-2.7/lib/python2.7/site-packages/bs4/__init__.py:166: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). Thi原创 2016-01-06 09:02:38 · 14811 阅读 · 0 评论 -
打印函数的入参
打印函数的参数def fn(name,value): print "name : %(name)r, value: %(value)r" % locals()原创 2015-12-18 09:55:09 · 732 阅读 · 0 评论 -
How to deal with Robot Framework result from XML output
robot.api提供了解析xml的API原创 2016-02-24 11:32:56 · 2419 阅读 · 0 评论 -
在python中怎么生成html格式的邮件并发送
http://info.contactology.com/email-view原创 2016-02-29 09:20:33 · 11498 阅读 · 1 评论 -
Pyshark分析pcap文件
Filtering packets:Filtering packets can be done with any capture object, like so:filtered_cap = pyshark.FileCapture(path_to_file, display_filter='http')filtered_cap2 = pyshark.LiveCapture('eth0', bpf_原创 2016-05-24 17:58:32 · 10454 阅读 · 0 评论 -
使用clonedigger来检查python中的重复代码
安装Clonedigger$ sudo pip install clonedigger$ clonedigger -helpUsage: To run Clone Digger type:python clonedigger.py [OPTION]... [SOURCE FILE OR DIRECTORY]...The typical usage is:python clonedigger.原创 2016-09-12 14:34:49 · 1989 阅读 · 0 评论 -
Python 中的排序
早在学习perl的时候就总结过排序问题 Schwartzian Transform(施瓦茨变换)现在,我们来看看在python中如何实现: Schwartzian transform的中心思想就是Decorate-Sort-Undecorateclass Student: def __init__(self, name, grade, age): self.name = n原创 2016-08-26 15:15:08 · 670 阅读 · 0 评论 -
Practice In Python UT & Coverage
Practice In Python UT & CoveragePython unittestBelow is my python unittest template:import unittestimport osimport stringfrom random import samplefrom mock.mock import patch#mock toggle mock_flag原创 2016-01-13 16:29:06 · 1243 阅读 · 0 评论 -
关于运行nose后某些test case没有被执行的问题
经过一番trouble shooting, 发现有两方面原因: 1. nose use docstrings to name tests. 我们发现如果在test case的函数中使用了docstring,会有可能被skip掉,解决方法:安装nose-ignore-docstring, 在运行nose的时候带上–with-ignore-docstrings option 2. 在linux系统中原创 2016-11-01 11:59:20 · 1577 阅读 · 0 评论 -
如何自动化测试图形化程序
在自动化测试中,经常会遇到一些程序需要运行在X windows环境下。 通常我会在shell脚本中用以下方法来运行脚本:setup_vnc(){ # start vnc number from 10 to avoid confilct with the exists. VNC_DISPLAY=10 while ! vncserver :$VNC_DISPLAY d原创 2017-03-03 10:27:14 · 1393 阅读 · 0 评论 -
Tracing a Program As It Runs
Please refer to: Tracing a Program As It Runs转载 2017-01-04 14:48:41 · 449 阅读 · 0 评论 -
what is the different between function and method in python
Recently, I’m concentrating on nose plugin development. I confused some descriptions in http://nose.readthedocs.io/en/latest/plugins/interface.htmlwantFunction(function)Return true to collect this fu原创 2017-02-17 15:00:19 · 576 阅读 · 0 评论 -
Python填坑记——作用域
先来看看两段代码:def fn(): if True: week = {'monday' : 1} week.update({'tuesday' : 2}) for (k , v) in week.items(): print k,vdef fn_1(var): for var in [0,1,2]: var += 1原创 2016-01-19 22:54:08 · 1706 阅读 · 0 评论 -
Python高级编程技巧
原文转自:http://python.jobbole.com/61171/正文:本文展示一些高级的Python设计结构和它们的使用方法。在日常工作中,你可以根据需要选择合适的数据结构,例如对快速查找性的要求、对数据一致性的要求或是对索引的要求等,同时也可以将各种数据结构合适地结合在一起,从而生成具有逻辑性并易于理解的数据模型。Python的数据结构从句法上来看非常直观,并且提供了大转载 2015-10-31 13:47:46 · 1127 阅读 · 0 评论 -
python正则表达式的注释方法
学过正则都知道,那简直是天书,为了提高正则的可读性,正则表达式中提供了X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。例如:import restr = 'python regex'pattern = re.compile(r''' (\w+) # first word \s(\原创 2015-11-10 16:44:55 · 2382 阅读 · 0 评论 -
python.vim
在linux上,先执行$locate python.vim/usr/share/vim/vim70/ftplugin/python.vim/usr/share/vim/vim70/indent/python.vim/usr/share/vim/vim70/syntax/python.vim如果找不到,就去http://www.vim.org/scripts/script原创 2012-07-20 15:38:18 · 610 阅读 · 0 评论 -
python中使用traceback来追踪异常
test1.py中,当分母为0的时候,调用系统退出#!/usr/bin/pythonimport sysdef division(a=1, b=1): if b==0: print 'b eq 0' sys.exit(1) else: return a/btest2.py中,用try..except捕获异常,原创 2012-07-26 17:27:27 · 42956 阅读 · 0 评论 -
python中使用re的基本流程
1. 通过re.compile生成正则表达式对象2. 调用正则表达式对象的match或者search方法生成match或search对象3. 判断match或search对象对否为None,如果不为None,通过group方法获取分组匹配字符串。注意: 如果不做判断的话,当匹配失败调用group方法会报异常(AttributeError: 'NoneType' object has n原创 2012-08-06 15:33:10 · 4703 阅读 · 2 评论 -
Python 代码性能优化技巧
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-python-optim/index.htmlPython 代码优化常见技巧代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。优化通常包含两方面的内容:转载 2012-07-24 09:40:26 · 1817 阅读 · 0 评论 -
python sqlite中通过字段名获取查询结果
在连sqlite数据库时,用fetchall()查询结果,是用row[0],row[1]这样的方式来打印每列的结果但是我想用row[“字段名”]方式查询怎么办?import sqlite3con = sqlite3.connect("mydb")con.row_factory = sqlite3.Rowcur = con.cursor()cur.execute("selec原创 2012-08-10 16:02:30 · 10986 阅读 · 0 评论 -
python和bash中的IO重定向
在测试的时候,偶尔需要捕获函数的输出,如果函数运行到最后才输出的话,直接把print换成return就好了但是函数在运行中,也会输出很多日志,我们需要把它都捕获下来,这时就需要用到IO重定向。bash #!/bin/bashfunc (){ echo "func output."} exec 6>&1 # 将fd6与stdout链接起来, 保原创 2012-08-16 14:33:01 · 1737 阅读 · 0 评论 -
python 调用smtplib输出重定向问题
http://yeelone.blog.51cto.com/1476571/901975 需求如下:用python写个发送mail的程序 。开启debug 。现在想将这个debug写进一个文件中,代码如下 : stdout_ = sys.stdout sys.stdout = open("debug.txt","write") try:转载 2012-08-17 12:22:42 · 991 阅读 · 0 评论 -
python中判断某变量是否存在
#!/bin/python def fn(): try: a=0 b = open("1.py") raise "11" #这个异常不是必然发生,我这里只是假设 c = open("2.py") except: if b:原创 2012-08-20 11:20:57 · 12400 阅读 · 0 评论 -
gvim 多标签页打开
编辑gvim.reg文件Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\Edit with Vim]@="用 gVim 多标签编辑(&g)"[HKEY_CLASSES_ROOT\*\shell\Edit with Vim\command]@="\"D:\\Program Files\\Vim\\v原创 2012-09-04 17:41:42 · 2338 阅读 · 0 评论 -
Python threading模块
python是支持多线程的,并且是native的线程。主要是通过thread和threading这两个模块来实现的。thread是比较底层的模 块,threading是对thread做了一些包装的,可以更加方便的被使用。这里需要提一下的是python对线程的支持还不够完善,不能利用多 CPU,但是下个版本的python中已经考虑改进这点,让我们拭目以待吧。 threading模块里面主要转载 2012-08-16 16:21:47 · 870 阅读 · 0 评论 -
各种编程语言中屏蔽代码块
1. bash:<<EOFecho "This is content block"EOF2.perl=blockprint "This is content block"=cut3.python'''print "This is content block."'''4.c/c++#if 0cout << "This is cont原创 2012-09-14 16:41:17 · 1700 阅读 · 0 评论 -
关于代码中的密码维护
公司的域密码是统一管理,经常会提醒换密码,但是我在很多程序中都需要用到这个密码,每次换完密码后都要改很多地方。为了减少麻烦,其实只需把密码放到环境变量中,以后每次只用修改环境变量的值就好了。BASH/KSHexport MYPWD='DomainPWD'CSHsetenv MYPWD 'DomainPWD'下面是我常用语言读取环境变量的方法C/C++#i原创 2013-05-18 12:05:53 · 1062 阅读 · 0 评论 -
python多线程ctrl-c退出问题
转自:http://weixiaolu.iteye.com/blog/1625385 经常会遇到下述问题:很多io busy的应用采取多线程的方式来解决,但这时候会发现python命令行不响应ctrl-c 了,而对应的java代码则没有问题: Java代码 public class Test { public static转载 2013-05-08 11:18:12 · 2946 阅读 · 0 评论 -
Pexpect没有输出log
今天在同事的服务器上执行一个python脚本,发现它在运行的时候始终没有打印命令的log。因为pexpect的初始logfile是指向None,所以我修改了logfile,但是发现还是没有输出。child = pexpect.spawn('some_command')child.logfile = sys.stdout于是我去查看了一下pexpect.py,发现在它的版本很低,,lo原创 2013-06-09 12:35:38 · 3656 阅读 · 0 评论 -
expect正则捕获返回结果
expect:expect -re "([0-9]*)([a-zA-Z]*)"send_user "num is $expect_out(1,string), string is $expect_out(1,string)"这里[0-9]*表示一个或多个数字,[a-zA-Z]*表示多个字母。()用于分组,它们分别存放在$expect_out(1,string)和$expect_out(2原创 2012-11-12 16:53:35 · 18281 阅读 · 0 评论 -
博客迁移至github pages
优快云早已变味,以后新文章,请到https://acefei.github.io/上浏览! 如有任何问题,可以在acefei’ lobby上一起交流学习。原创 2017-11-21 17:19:03 · 691 阅读 · 0 评论