Python3调试记录

来源:互联网 发布:知乎 拉丁美洲 编辑:程序博客网 时间:2024/06/08 10:16

记录Python学习过程中遇到的各种问题,备忘,也供遇到同样问题的人参考

问题1、 print "helloworld" SyntaxError: Missing parentheses in call to 'print'

分析:python3 的print是函数,需要括号:print('hellw world')

问题2、SyntaxError: Non-UTF-8 code starting with '\xba' in file 错误的解决方法!!

分析:文件的编码有问题。解决方法:选中项目----右键----选择Propties---Resource——编码改成UTF-8

问题3、多线程并发的调试问题


想要实现的是多线程并发,结果却是线性的。原来是左边红色框住的地方有问题。需要的参数是一个函数target=function_name;而我写的是target=function_name();这样一来,自然就会先运行function_name函数,然后把函数返回值赋给target.由于两个函数都是在主线程中调用,所以是线性运行的。最后由于参数错误,俩个线程其实都没有启动!这才有了右边的输出结果。

问题4、TypeError: not all arguments converted during string formatting--参数和格式不匹配!

这个错误报在:x=10;print('i= '%(x)),

修改为:x=10;print('i=%d'%(x))就OK了!

问题5、Python2和Python3的异常处理的区别

A、在python2.x中 ,异常是这样的处理的,异常基类后面加一个逗号“ ,”  然后跟着异常类型

?
1
2
3
4
5
try:
  1/0
exceptException , err:
  printerr

B、在python3.x中,异常是这样处理的,基类通过关键 词"as" 连接异常类型

?
1
2
3
4
try:
  1/0
exceptException as err:
  print(err)

问题6、Encountered "print" at line 9, column 1. Was expecting one of:     "(" ...     ")" 
 ...     "[" ...     "," ...     "." ...     "+" ...     "-" ...     "*" ...     "/" ...     "//" ...     "<<" 
 ...     ">>" ...     "%" ...     "^" ...     "|" ...     "&" ...     ">" ...     "<" ...     "==" ...     
 "<=" ...     ">=" ...     "<>" ...     "!=" ...     "or" ...     "and" ...     "not" ...     "is" 
 ...     "in" ...     "if" ...     "for" ...     "," ...

解决方法:

类似这种问题,一般是上一行(或者上一条语句)没有正常结尾(比如少了个后括号“(”,等等)

问题7、中文乱码问题:Python2,Linux和centos编码都已经是utf-8了,pint 张三  显示编码问题

解决方法:

#coding:utf-8   必须写在文件的第一行啊

pint "张三" 

这样就好了, 233。

问题8、Linux是内嵌了Python的,python hello.py arg1 arg2 就可以直接执行Python文件。那么问题是,Python如何获取命令行传入的参数呢?

解决方法:

import sys

count=len(sys.argv)-1  就是传入的参数的个数

eg:Python test.py a b c,那么:

len(sys.argv)-4

sys.argv[0]--test.py

sys.argv[1]---a

sys.argv[2]---b

sys.argv[3]---c

问题9、


0 0