Python 如何接收cmd';quser';输出?
我正在尝试构建Python代码,该代码将在cmd中运行quser程序,并将接收它的输出,然后运行注销到其中一个用户 我试着用Python 3.7.3中的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”
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
仅在系统32cmd.exe
上工作,那么如果您在x64机器上运行,默认的cmd.exe
没有quser
。不知道为什么。它在x64机器上对我来说很好用。使用subprocess方法,我得到了您所期望的输出。如果没有扩展名/完全限定路径(或使用cmd.exe)来扩展,您期望得到什么?将“quser”
替换为“C:\Windows\System32\quser.exe”
subprocess.check_output(r"C:\Windows\Sysnative\quser.exe")