我正在尝试使用Python 2.7.7编写一个小脚本,该脚本将ping一个IP地址并确定该PC是打开还是关闭,并相应地更改该系统的电源状态。我非常依赖Python模块subprocess
和wakeonlan
。我在ping或使用WOL时没有任何问题,但是关机功能表现得非常奇怪。
使用命令提示符中的shutdown -s -t 0 /m \\XXX.XXX.X.X
命令可以正常工作,以及cmd中Python交互式shell中的以下内容:
import subprocess
ip = 'XXX.XXX.X.X' # use for example
subprocess.call('shutdown -s -t 0 /m \\\\%s' % ip)
但是从Python脚本运行相同的命令会返回此错误:
XXX.XXX.X.X
:输入的计算机名无效或目标计算机不支持远程关机。检查名称,然后重试或联系您的系统管理员。(53)
我有没有考虑任何背景行为?也许与子进程模块有关?提前谢谢!