import pdb
print("program started")
c=100
d=200
pdb.set_trace()
def fun(a,b):
print a,b
return a+b
fun(c,d)
for i in [1,2,3,4,5]:
print 10/i
print ("other statements in program")
print ("program ended")
python模块pdb
具有set_trace()
功能。由于您的程序没有找到它,它正在导入其他内容。几乎可以肯定,您将程序(或同一目录中的其他程序)命名为pdb.py
。
这对我来说可以
`
[root@ebs-49393 tmp]# cat test.py
import json,pdb
buf = open('./a.txt').read()
j = json.loads(buf)
pdb.set_trace()
print j
[root@ebs-49393 tmp]# python test.py
> /tmp/test.py(5)<module>()
-> print j
(Pdb) list
1 import json,pdb
2 buf = open('./a.txt').read()
3 j = json.loads(buf)
4 pdb.set_trace()
5 -> print j
[EOF]
`
同样在交互模式下,您可以使用help(pdb)查看它是否使用了正确的模块。
在这里曾经几次,要么你的文件是pdb.py
或code.py
或一些保留文件名python识别。
你的python文件名不应该是pdb.py.我最初保存它像这样,我得到了同样的错误,将文件名更改为pdb1.py运行良好。
切勿将导入程序的库用作该目录中任何文件的文件名。导入功能首先检查您正在使用的目录中安装的模块,然后在已设置的python环境中进行检查。