我有一个 python 脚本,我使用注册表项使其可删除,但它似乎不起作用。cmd.exe 窗口只是一闪而过,我可以以某种方式使窗口保持不变,还是保存输出?
编辑:问题在于它不仅给出了文件名,还给出了整个路径。
如果你想要一个纯 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,它可以让您以更愉快的方式进行开发(想到PyCharm和PyDev )。
在脚本末尾插入一行:
raw_input("Press Enter to close") # Python 2
或者
input("Press Enter to close") # Python 3
另一种可能的选择是创建一个带有文本区域和关闭按钮的基本 TKinter GUI。然后使用 subprocess 或 equiv 运行它。并从执行的 python 脚本中获取标准输出,pythonw.exe
这样就不会出现 CMD 提示。
这使它纯粹使用 Python 标准库,也意味着您可以使用 GUI 来设置选项或输入参数......
只是一个想法。
右键单击您的脚本并删除其属性中的 Program->Close on exit 复选框,或cmd /k
用作其调用行的一部分。
在引入人为延迟或需要按键之前三思而后行 - 这将使您的脚本在任何无人值守/管道呼叫中几乎无法使用。