2012-07-24 117 views
6

我有一个python脚本,我已经使用注册表键删除,但它似乎不工作。 cmd.exe窗口只是闪烁,我可以以某种方式使窗口保持不变,或保存输出?保持cmd.exe打开

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

回答

6

如果你想要一个纯Python的解决了这个,你就会有一个尝试换你的脚本/ 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,让你以更愉快的方式开发(想起PyCharmPyDev)。

+0

谢谢,我最终在你的帖子之前这样做了,不过谢谢:) – 2012-07-24 09:36:40

+1

也许把'print_exc()'调用的('raw_'''input')放在同一个级别。然后只有在有异常时才会暂停。 – glglgl 2012-07-24 09:42:13

2

在脚本的末尾插入线:

raw_input("Press Enter to close") # Python 2 

input("Press Enter to close") # Python 3 
1

当脚本完成其执行过程中,窗口被关闭。

保持开放的一个窍门是让它向用户询问某种输入,例如,通过raw_input


所以,你可以再补充

raw_input() 

到脚本的结束,等待用户按回车

1

另一种可能的选择是创建一个带有textarea和关闭按钮的基本TKinter GUI。然后用子进程或者equiv运行。并使用pythonw.exe执行您的python脚本中的stdout,这样就不会出现CMD提示符。

这使得它纯粹是用Python STDLIB的,也意味着你可以使用GUI设置选项或输入参数...

只是一个想法。

1

右键单击脚本并在其属性中取消退出程序 - >退出复选框,或使用cmd /k作为其调用行的一部分。

在引入人为延迟或需要按下键之前考虑两次 - 这会使您的脚本在任何无人值守/管道调用中几乎不可用。