Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 保持cmd.exe打开_Python_Registry_Cmd - Fatal编程技术网

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解决方案,则必须

我有一个python脚本,我使用注册表项使其可删除,但它似乎不起作用。cmd.exe窗口刚刚闪过,我可以让窗口保持不动,还是保存输出


编辑:问题是它给出了整个路径,而不仅仅是文件名。

在脚本末尾插入一行:

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