【问题标题】:Issue in python when using the shutdown function使用关闭功能时python中的问题
【发布时间】:2014-07-28 11:08:50
【问题描述】:

我将提供一个视频来告诉你发生了什么,这里是显示这个奇怪问题的视频的链接:

https://www.youtube.com/watch?v=o9RUR7t18NA&list=UU0OG8tltECja7Sgxa9A5Drg

源代码已上传到您可以在 youtube 频道上找到的 pastebin 中,但实际上并不相关,因为它实际上只是“关闭”功能变得疯狂。

我想解决这个奇怪的问题或错误。

为了缩小范围,这里有一些信息: 我使用的是 Windows 7 32 位版本,并且正在运行 Python 3.4 也是 32 位版本。

import os
os.system("shutdown -s -t 60")

这里的代码很简单,应该可以工作,现在得到这个:

如果我在标准 Python GUI 中运行此代码,它会按预期工作。但是,如果我在 IDLE 中运行同样的代码,它所做的只是打开命令提示符 (cmd) 并创建一个无限循环,我唯一的选择是按 Enter。

另一个值得注意的有趣的事情是,当我尝试关闭此命令提示符时,命令提示符会打印出如下内容:

^C ^C ^C ^C ^C ^C

有时会这样:

^^^^^^^^^^^^^^^^^^^^C

这是已知的吗?有解决办法吗? 我需要能够访问此功能并且它需要为我的项目工作(一个简单的关机程序,用户可以在其中输入时间,并且在给定的时间内计算机将注销、关机等)。

【问题讨论】:

  • 你确定不是os.system("shutdown -s -t 60")(减号和字母之间没有空格)
  • 你是对的,我不应该使用空格,但在我的实际项目中它是正确编写的。我现在在帖子中纠正了这个错误。
  • 然后删除你的问题...
  • 我不应该把它留给其他人看看会发生这种类型的错误吗?它可以为可能的调试提供信息,并可能帮助其他人看到其他人也可能有这个问题,我修复它的方法是多次重做代码。我认为这可能对某人有用。可能会将标题更改为已解决,但实际上并不是 100% 已解决。如果您真的认为这无济于事或任何版主,那么我将删除它。这是一个非常“独特”的问题......

标签: python import cmd os.system


【解决方案1】:

OP 的解决方案。

我的程序被称为“shutdown”,看来os.system("shutdown -s - t 60")实际上是REOPENED程序,而不是执行shutdown命令。

解决方案是将程序重命名为其他名称。

【讨论】:

    【解决方案2】:
    os.system("C:\Windows\System32\shutdown.exe -s -t 60")
    

    应该这样做。 (从 Windows 系统文件夹显式运行 shutdown.exe

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-05
      • 2017-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      相关资源
      最近更新 更多