6

我有一个 python 脚本,我使用注册表项使其可删除,但它似乎不起作用。cmd.exe 窗口只是一闪而过,我可以以某种方式使窗口保持不变,还是保存输出?

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

4

5 回答 5

6

如果你想要一个纯 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,它可以让您以更愉快的方式进行开发(想到PyCharmPyDev )。

于 2012-07-24T09:32:37.567 回答
2

在脚本末尾插入一行:

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

或者

input("Press Enter to close") # Python 3
于 2012-07-24T09:24:52.247 回答
1

当您的脚本完成执行时,窗口将关闭。

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


所以你可以添加

raw_input()

到脚本的末尾等待用户按下Enter

于 2012-07-24T09:25:11.280 回答
1

另一种可能的选择是创建一个带有文本区域和关闭按钮的基本 TKinter GUI。然后使用 subprocess 或 equiv 运行它。并从执行的 python 脚本中获取标准输出,pythonw.exe这样就不会出现 CMD 提示。

这使它纯粹使用 Python 标准库,也意味着您可以使用 GUI 来设置选项或输入参数......

只是一个想法。

于 2012-07-24T09:41:13.633 回答
1

右键单击您的脚本并删除其属性中的 Program->Close on exit 复选框,或cmd /k用作其调用行的一部分。

在引入人为延迟或需要按键之前三思而后行 - 这将使您的脚本在任何无人值守/管道呼叫中几乎无法使用。

于 2012-07-24T09:52:58.867 回答