我遇到了一个特别臭名昭著的问题:我在Python 3.6上创建了一种控制台程序,但是当我编写的命令不是'exit'或'shutdown'时,如果此命令不正确,则控制台会进入循环,并通过向控制台发送“ except”指令定义的错误消息来不断尝试执行不正确的命令。
我试图删除'try'和'except'语句,但是通过这种方式,如果命令不正确,则程序将被中断并且关闭命令将不会执行。
P.S。我忘了用“ try-except”指令写它,如果我按Enter键却没有写任何东西,那么错误将保持不变。
import os
print("$ ", end="") #No end-line
console_standard_input = input()
while console_standard_input != ".shutdown":
if (console_standard_input == "exit"):
print("Shutting down machine...")
sys.exit(-1)
try:
machine_exec_script_path_complete = "Disk\{0}".format(console_standard_input)
os.system(machine_exec_script_path_complete)
except:
print("Unable to exec this function - Error")
print("")
print("$ ", end="")
#Machine code - Stop
我还没有找到解决方案。我不太擅长Python,所以我想请专家帮忙。
尝试:
import os
print("$ ", end="") #No end-line
console_standard_input = input()
while console_standard_input != ".shutdown":
if(console_standard_input == "exit"):
print("Shutting down machine...")
sys.exit(-1)
try:
machine_exec_script_path_complete = "Disk\{0}".format(console_standard_input)
os.system(machine_exec_script_path_complete)
except:
print("Unable to exec this function - Error")
print("")
print("$ ", end="")
console_standard_input = input()
说明-如果您希望继续评估输入-您必须在其中明确输入input
。为变量分配input()
仅分配其值(用户输入),而不分配整个操作,即,只要重新评估该变量,它就不会强制其重复...