python调试

python调试

 

python 调试有和gdb一样命令行的调试,也有可视化的调试。 可视化的调试有IDLE和 Wing IDE等选择,没什么可说的,下面说说命令行的方式。

 

启动调试:

 

python -m pdb myscript.py

 

l(ist):    列出源码

c(ontinue):   执行直到遇到断点

b(eak):&n… 更多... “python调试”

python改变形参的值

  1
  2 def ChangeParameter1( count ):
  3     count = 3
  4  
  5 def ChangeParameter2( count ):
  6     count[0] = 3
 
不会改变ct的值,函数调用后还是0
  8 ct = 0
  9 ChangeParameter1( ct )
 10 print ct
   

会改变,是通过list来实现
 12 ct = list()
 13 ct.append( 0 )
 14 ChangeParameter2( ct ) … 更多... “python改变形参的值”

wsgi调试

其实我之前在:

apache+wsgi+python的web调试

这篇文章中有提到怎么去调试wsgi+python的程序,但是还是非常麻烦,无论通过将想要的查看的内容输出到apache的日志文件还是直接以html方式在浏览器中查看。有时候有些只是简单的语法错误,但是还是要

1. 保存代码

2. 浏览器访问网页

3. 打开错误日志

4. 修改代码

5. 保存代码继续上面的步骤

比如你的某个文件有5个语法错误,那么你就要将上面… 更多... “wsgi调试”

python命令行参数

运行python程序时,可以和其他的程序一样,传入参数,例如:

python myapp.py firstp secondp

这样在使用python解释器解释执行myapp.py时,传入了2个参数firstp和secondp

如果想在程序中,也就是在myapp.py中得到这2个参数,可以使用

sys.argv

例如:

import sys

print 'myapp start'

print 'command parameter'

更多... “python命令行参数”

python调用c/c++库

 下面这段文字是从一个讨论中剪裁出来的。目前没有时间翻译,先放到这里,等有时间再做翻译。 

不过不用英文的解释,其实只用看代码就知道怎么用了。

 

I like ctypes a lot,swig always tended to give me

problems
. Also ctypes has the advantage that you don’t need to satisfy any compile time dependency on … 更多... “python调用c/c++库”

python之dict

dict是python中比较喜欢的一个容器或者类型,可以很方便的操作 键值对,它相当于c++ std库中map,但是又比它要强大,操作方便。

 

1. 创建

d1 = dict()

或者

d1 = {}

 

2. 添加元素

d1[‘a’] = ‘aa’

d1[‘b’] = ‘bb’

或者

d1.setdefault( ‘a’, &#… 更多... “python之dict”

python之异常处理

简单异常处理 

try:
    v = 2 / 0
except:
    print ( "got a exception")

 

 

异常嵌套

try:
    try:
        v2 = 2 * spam
    except:
        #print( "got spame exception" )
    v1 = 1 / 0

except ZeroDivisionError as a:
    print( "got a exception: " + str( a ) )
    try:
        v1 = 1 / 0
    except:
        print( "got annother ex
更多... “python之异常处理”

Python之元类

Python之元类

我要一大群的类都具有一中特点,我怎么给他们加上呢?模板模板吗,我从这个模板创建一群类不就OK了?那就需要元类了。

定义一个元类(就是一个类的模板!莫多想,还要记住这是类级别的,不是对象级别的!):

代码如下: