Python 保持cmd.exe打开
我有一个python脚本,我使用注册表项使其可删除,但它似乎不起作用。cmd.exe窗口刚刚闪过,我可以让窗口保持不动,还是保存输出Python 保持cmd.exe打开,python,registry,cmd,Python,Registry,Cmd,我有一个python脚本,我使用注册表项使其可删除,但它似乎不起作用。cmd.exe窗口刚刚闪过,我可以让窗口保持不动,还是保存输出 编辑:问题是它给出了整个路径,而不仅仅是文件名。在脚本末尾插入一行: raw_input("Press Enter to close") # Python 2 或 脚本执行完毕后,窗口将关闭 保持其打开的一个技巧是让它向用户请求某种输入,例如通过 所以你可以加上 raw_input() 在脚本末尾等待用户按Enter。如果您需要纯Python解决方案,则必须
编辑:问题是它给出了整个路径,而不仅仅是文件名。在脚本末尾插入一行:
raw_input("Press Enter to close") # Python 2
或
脚本执行完毕后,窗口将关闭 保持其打开的一个技巧是让它向用户请求某种输入,例如通过
所以你可以加上
raw_input()
在脚本末尾等待用户按Enter。如果您需要纯Python解决方案,则必须使用try/except子句包装脚本:
import traceback
try:
... your script ...
except:
traceback.print_exc()
raw_input("Press Enter to close") # Python 2
input("Press Enter to close") # Python 3
这样,即使代码抛出异常,窗口也将保持打开状态。当Python无法解析脚本时,即出现语法错误时,它仍将关闭。如果您也想解决这个问题,我建议您使用一个好的IDE,它可以让您以一种更愉快的方式进行开发(请记住)。另一个可能的选择是创建一个带有文本区域和关闭按钮的基本TKinter GUI。然后用subprocess或等效程序运行它,并让它从pythonw.exe执行的python脚本中获取stdout,这样就不会出现以开头的CMD提示符 这使得它完全使用Python stdlib,也意味着您可以使用GUI设置选项或输入参数
只是一个想法。右键单击脚本并删除其属性中的程序->退出时关闭复选框,或者使用
cmd/k
作为其调用行的一部分
在引入人为延迟或需要按键之前请三思——这将使您的脚本在任何无人参与/管道调用中都无法使用。谢谢,我在您的帖子之前就这样做了,但无论如何还是要感谢:)也许可以将(
raw
)input
放在print\u exc()
调用的同一级别下。然后,只有在出现异常时才会暂停。
import traceback
try:
... your script ...
except:
traceback.print_exc()
raw_input("Press Enter to close") # Python 2
input("Press Enter to close") # Python 3