astring = input("input here: ")
当我在上面的那一行输入时,我会得到以下提示并输入"abc":
input here: abc
但是无论我从键盘输入什么,都会出现错误,例如:
NameError: "name 'abc' is not defined"
> /home/wang/tmp/test.py(4)<module>()
-> astring = input("input here: ")
如何在调试时输入?
astring = input("input here: ")
当我在上面的那一行输入时,我会得到以下提示并输入"abc":
input here: abc
但是无论我从键盘输入什么,都会出现错误,例如:
NameError: "name 'abc' is not defined"
> /home/wang/tmp/test.py(4)<module>()
-> astring = input("input here: ")
如何在调试时输入?
看起来输入的 "abc" 被视为一个评估。然而,你的程序是 input("input here "),但你给出的例子是 "input here:",而 pdb 的输出是 "input a line:"。
由于这些差异,我不知道它们是否是同一个程序。尝试输入 n(下一行代码)而不是 abc,看看会发生什么。
python3 -c "x = input('input here:')"
可以工作,而python2.7 -c "x = input('input here:')"
会导致NameError: ...
。也许你应该执行input sys; print(sys.version)
,看看你正在运行什么? - donkopotamus