比较Python中的cmd输出

比较Python中的cmd输出,python,windows,batch-file,Python,Windows,Batch File,我需要比较python中命令的输出,以执行if/else-but。不幸的是,我的Python技能还不太好 想法是使用cmd检查Windows用户是否存在,然后创建或删除,然后创建他 我可以使用类似于: subprocess.check_output.Popen(command 'net user + USER +',stdout=PIPE) if PIPE= ... command = ('net user '...) else command = (...) 要使if/else语句起

我需要比较python中命令的输出,以执行if/else-but。不幸的是,我的Python技能还不太好

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

我可以使用类似于:

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

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

else command = (...) 

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

if x == True:
    print ('x is True')
else:
    print ('x is False')
我试过这个:

import subprocess

p = subprocess.check_output("net user",stderr=subprocess.STDOUT,shell=True)
print(p)
它在命令行上运行命令net用户并打印输出。但我不确定这是否是你想要的。你能澄清一下吗?或者,如果这有帮助,请检查此作为您的答案,以便它帮助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!')

现在,您说要添加或删除用户,所以我仍在试图找出如何做到这一点,因为据我所知,这需要以管理员身份运行命令行。但这只是一个开始。希望能有帮助:)

那么你认为我的第一部分会有用吗<代码>子流程。检查输出。Popen(命令'net user+user+',stdout=PIPE)子流程。检查输出('net user+user',stdout=PIPE)您正在运行命令“
net user+user+
”。这不是一个有效的命令。您可能需要类似“
'net user'+user
”的内容。您好,我需要处理命令的输出。因此,如果用户不存在,cmd会显示类似“User not exists”的内容。我想运行类似于
if OUTPUT=“User exsist”命令(net User XXX/delete)或其他命令(net User XXX/add)
是的,您需要像我一样将输出存储在字符串中,然后根据您的条件检查字符串中的子字符串。您需要像我一样使用subprocess模块,而不是command。还有,为什么我被否决了?你能用if和else语句粘贴一个例子吗?