很抱歉,如果这是一个常见问题,但到目前为止我查找的每个解决方案似乎都不起作用。
基本上,我想在用户输入“结束”时退出此循环但由于某种原因它实际上不会破坏循环。
command = input("Enter command: ") + "\r\n"
while(True):
print(command)
if command == "end":
break
else:
tn.write(command.encode("utf-8"))
ret1 = tn.read_until(b"_DNE", timeout = 10)
print(ret1)
command = input("Enter command: ") + "\r\n"
如果用户输入“end”,它似乎忽略了“if”语句,只是直接跳到“else”
答案 0 :(得分:2)
不要试图将\r\n
附加到用户input
的末尾,而是使用raw_input
而不是
command = raw_input("Enter command: ")
while(True):
print(command)
if command.rstrip('\r\n') == "end":
break
else:
tn.write(command.encode("utf-8"))
ret1 = tn.read_until(b"_DNE", timeout = 10)
print(ret1)
command = raw_input("Enter command: ")
答案 1 :(得分:0)
由于您在输入中添加了\r\n
,因此无论何时输入end
,变量command
都会将end\r\n
作为字符串值,而不是end
。因此,当用户输入end
时,if语句不会检测到它。