wnhuiyou 发表于 2021-4-13 15:45:55

Python如何获取CMD的值

本帖最后由 wnhuiyou 于 2021-4-13 16:13 编辑

请教下,以后得到返回值了,但我只需要其中的用户名下的'y',和状态下的'运行中',我该怎么写呀?

https://xxx.ilovefishc.com/forum/202104/13/151045p3fug678qz8alu55.png.thumb.jpg



或者变成这种格式:

suchocolate 发表于 2021-4-13 16:22:35

os.system只返回成功状态码,获取输出得用subprocess的popen,官方文档里也说了,推荐用popen取代os.system。

wnhuiyou 发表于 2021-4-13 16:31:26

suchocolate 发表于 2021-4-13 16:22
os.system只返回成功状态码,获取输出得用subprocess的popen,官方文档里也说了,推荐用popen取代os.system ...

好的,现在我应该怎么去掉那些空的字符,把有数据的,放在一个列表

suchocolate 发表于 2021-4-13 17:02:58

import re

result = []
s = '''
aa      console       2018
bb            console       2019
cconsole       2020'''
for item in s.split('\n'):
    result.append(re.split('\s+', item))
print(result)

wnhuiyou 发表于 2021-4-13 17:10:16

suchocolate 发表于 2021-4-13 17:02


感谢感谢!

阿奇_o 发表于 2021-4-13 17:14:57

正确的提问google 让找到了一个很简单的方法:
# command = r"""for /f "tokens=1" %a in ('query user') do echo %a"""
command = 'query user'
# os.system()
r = os.popen(command).read()
print(r.split())


剩下你应该会处理了,^_

wnhuiyou 发表于 2021-4-13 22:54:18

阿奇_o 发表于 2021-4-13 17:14
正确的提问google 让找到了一个很简单的方法:




谢谢谢你!

阿奇_o 发表于 2021-4-13 23:07:17

为啥不简单点。。
r = os.popen('query user').read()
# print(r.split())
username = r.split()
status = r.split()
print(username, status)

{:10_312:}

wnhuiyou 发表于 2021-4-15 10:15:55

阿奇_o 发表于 2021-4-13 23:07
为啥不简单点。。

好的,谢谢,这个更简便呀...学习了
页: [1]
查看完整版本: Python如何获取CMD的值