比较Python中的cmd输出

时间:2017-06-27 10:32:28

标签: python windows batch-file

我需要比较python中命令的输出来做if / else但是。不幸的是我的Python技能还不是很好。

我们的想法是检查cmd是否存在Windows用户,然后创建或删除然后创建他。

我可以使用类似的东西:

subprocess.check_output.Popen(command 'net user + USER +',stdout=PIPE)

if PIPE= ... 
command = ('net user '...)

else command = (...) 

2 个答案:

答案 0 :(得分:0)

要使if / else语句起作用,你需要用冒号(:)结束它,并为你需要执行的语句提供缩进。

if x == True:
    print ('x is True')
else:
    print ('x is False')

答案 1 :(得分:0)

我试过了:

import subprocess

p = subprocess.check_output("net user",stderr=subprocess.STDOUT,shell=True)
print(p)

它在命令行上运行命令net user并打印输出。但我不确定这是不是你想要的。你能澄清一下吗?或者如果这有帮助,请将此作为您的答案,以便它可以帮助SO社区中的其他人。谢谢:))

编辑: 这不是检查用户是否存在的最优雅方式,但您明白了。 使用if-else语句:

import subprocess

user = 'iamuser'
success = 'The command completed successfully'
p = subprocess.check_output('net user ' + user,stderr=subprocess.STDOUT,shell=True)
if(success in str(p)):
    print('iamuser exists!')
else:
    print('nope, iamuser does not exist!')

现在你说要添加或删除用户,所以我仍然想弄清楚如何做到这一点,因为据我所知,这需要命令行以管理员身份运行。但这是一个开始。希望它有所帮助:)