Python 如何接收cmd';quser';输出?

Python 如何接收cmd';quser';输出?,python,python-3.x,windows,subprocess,Python,Python 3.x,Windows,Subprocess,我正在尝试构建Python代码,该代码将在cmd中运行quser程序,并将接收它的输出,然后运行注销到其中一个用户 我试着用Python 3.7.3中的os和subprocess模块来实现这一点,但它似乎总是说: “quser”未被识别为内部或外部命令 我还尝试了quser可执行文件的完整路径 导入操作系统 导入子流程 输出=操作系统(“quser”) 打印(输出) #返回-->'quser'未被识别为内部或外部命令、可操作程序或批处理文件。 p=subprocess.Popen(“quser”

我正在尝试构建Python代码,该代码将在cmd中运行quser程序,并将接收它的输出,然后运行注销到其中一个用户

我试着用Python 3.7.3中的
os
subprocess
模块来实现这一点,但它似乎总是说:

“quser”未被识别为内部或外部命令

我还尝试了
quser
可执行文件的完整路径

导入操作系统
导入子流程
输出=操作系统(“quser”)
打印(输出)
#返回-->'quser'未被识别为内部或外部命令、可操作程序或批处理文件。
p=subprocess.Popen(“quser”,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
out,err=p.communicate()
打印(输出)
#返回-->1 b“”
预期产出

USERNAME         SESSIONNAME        ID  STATE   IDLETIME  LOGON       TIME
John             console            1   Active  57        19/07/2019  12:27
Doe                                 2   Disc    57        19/07/2019  15:35

非常有效。

您不需要同时使用
python-3.x
python-3.7
标记(删除
python-3.7
);不过,您确实需要一个
windows
标记。您尝试过该功能吗?如果我正确回忆
quser
仅在系统32
cmd.exe
上工作,那么如果您在x64机器上运行,默认的
cmd.exe
没有
quser
。不知道为什么。它在x64机器上对我来说很好用。使用subprocess方法,我得到了您所期望的输出。如果没有扩展名/完全限定路径(或使用cmd.exe)来扩展,您期望得到什么?将
“quser”
替换为
“C:\Windows\System32\quser.exe”
subprocess.check_output(r"C:\Windows\Sysnative\quser.exe")