我需要比较python中命令的输出来做if / else但是。不幸的是我的Python技能还不是很好。
我们的想法是检查cmd是否存在Windows用户,然后创建或删除然后创建他。
我可以使用类似的东西:
subprocess.check_output.Popen(command 'net user + USER +',stdout=PIPE)
if PIPE= ...
command = ('net user '...)
else command = (...)
答案 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!')
现在你说要添加或删除用户,所以我仍然想弄清楚如何做到这一点,因为据我所知,这需要命令行以管理员身份运行。但这是一个开始。希望它有所帮助:)