python 调用系统命令 获取结束状态
#!/usr/bin/pythonimportosa=os.popen('serviceldaprestart')printa结果:<openfile'serviceld...
#!/usr/bin/python
import os
a=os.popen('service ldap restart')
print a
结果:<open file 'service ldap restart', mode 'r' at 0xb7ea8218>
正确的不是应该输出 0 吗?
怎么判断一条系统命令是否执行成功 展开
import os
a=os.popen('service ldap restart')
print a
结果:<open file 'service ldap restart', mode 'r' at 0xb7ea8218>
正确的不是应该输出 0 吗?
怎么判断一条系统命令是否执行成功 展开
3个回答
展开全部
使用subprocess,可以得到返回的结果和返回的状态
>>> import subprocess
>>> p = subprocess.Popen('service ldap restart', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
>>> p.wait()
1
windows系统,返回1,没有执行成功。
>>> p = subprocess.Popen('cmd', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
>>> p.wait()
0
>>>
随便输入一个windows的命令cmd,返回的结果是0.
>>> import subprocess
>>> p = subprocess.Popen('service ldap restart', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
>>> p.wait()
1
windows系统,返回1,没有执行成功。
>>> p = subprocess.Popen('cmd', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
>>> p.wait()
0
>>>
随便输入一个windows的命令cmd,返回的结果是0.
展开全部
open返回的肯定是一个打开对象,就是你代码中那样,关闭打开的对象后才会返回0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
>>> a=os.system('echo hello world')
>>> print a
0
>>>
>>> print a
0
>>>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询