用python控制计算机

用python控制计算机,python,operating-system,python-3.6,Python,Operating System,Python 3.6,你们知道如何编写程序和控制计算机(关机)吗?也许模块操作系统可以回答,但我只知道如何使用OS.path和OS.system 我已经尝试过这种方法: import os os.chdir('C:\Windows\System32') with open('cmd.exe',encoding='utf-8')as f: exec(f.read()) exec(f.write('shutdown -i')) 但显示错误: 回溯(最近一次呼叫最后一次): 文件“D:\Mystuff\t

你们知道如何编写程序和控制计算机(关机)吗?也许模块操作系统可以回答,但我只知道如何使用
OS.path
OS.system

我已经尝试过这种方法:

import os
os.chdir('C:\Windows\System32')
with open('cmd.exe',encoding='utf-8')as f:
    exec(f.read())
    exec(f.write('shutdown -i'))
但显示错误:

回溯(最近一次呼叫最后一次):

文件“D:\Mystuff\try.py”,第4行,在 exec(f.read())

文件“C:\Users\Vic\u Lee\AppData\Local\Programs\Python\Python36-32\lib\codecs.py”,第321行,解码 (结果,消耗)=自身缓冲区解码(数据,自身错误,最终) UnicodeDecodeError:“utf-8”编解码器无法解码位置2:无效起始字节中的字节0x90


有什么想法吗?

要关机,您不需要写入“cmd.exe”文件。而是这样做:

import subprocess
subprocess.call(["shutdown", "/s"])
/s在没有提示的情况下关闭计算机。要使用关机警告对话框启动关机,可以执行以下操作:

import subprocess
subprocess.call(["shutdown", "-i"])

首先,您不需要打开
cmd.exe
进行读写。其次,不要试图用
f.write()
对其进行写入。第三,阅读python.org.ok上的
exec()
文档,那么怎么做呢?如何阅读python.org上的exec()文档?很明显,你知道如何使用网络浏览器,否则你就不可能在这里。因此,在地址栏中键入,单击该页面上的文档链接,然后看看是否可以从那里计算出其余部分。对不起,我的程序--。我的意思是,如何解决我的问题..需要安装模块子进程吗?@ChineseTaipei您可以轻松地检查自己,并查看它是否是标准库模块。