|
In [58]: a=subprocess.check_call(['ls','-l'])
总用量 2888
-rw-r--r-- 1 root root 12 12月 6 19:50 13001195917
-rw-r--r-- 1 root root 453 12月 6 19:31 1_md5.py
-rw-r--r-- 1 root root 453 12月 2 16:48 1_walk.py
-rw-r--r-- 1 root root 14 12月 6 16:42 2.txt
-rw-r--r-- 1 root root 412 12月 7 20:25 ErrorExcept.py
-rw-r--r-- 1 root root 425 10月 24 05:57 hashlib2.py
drwxr-xr-x 2 root root 4096 10月 24 06:03 test
-rw-r--r-- 1 root root 556 12月 6 16:06 top10.py
-rw-r--r-- 1 root root 430 10月 25 21:56 walk1.py
-rw-r--r-- 1 root root 128 10月 25 18:07 yield1.py
-rw-r--r-- 1 root root 680 10月 25 21:27 yield2.py
-rw-r--r-- 1 root root 2910024 12月 6 16:48 非码+支付宝会员_喜欢牛肉_手机号码.txt
In [59]: a
Out[59]: 0
In [62]: a=subprocess.check_call(['ls','a']) #抛出异常
ls: 无法访问a: 没有那个文件或目录
---------------------------------------------------------------------------
CalledProcessError Traceback (most recent call last)
<ipython-input-62-575484aab70a> in <module>()
----> 1 a=subprocess.check_call(['ls','a'])
/usr/local/lib/python2.7/subprocess.pyc in check_call(*popenargs, **kwargs)
538 if cmd is None:
539 cmd = popenargs[0]
--> 540 raise CalledProcessError(retcode, cmd)
541 return 0
542
CalledProcessError: Command '['ls', 'a']' returned non-zero exit status 2
In [63]: a #a的值还是0,并没有将异常的值保存到a中
Out[63]: 0
[root@133 systeminformation]# vim process_check_call.py
#!/usr/bin/env python
#ecoding=utf8
import subprocess
try:
subprocess.check_call('exit 1', shell = True)
except Exception:
print "exit 1返回echo $?不是0,抛出异常,打印出来"
[root@133 systeminformation]# python process_check_call.py
exit 1返回echo $?不是0,抛出异常,打印出来
#!/usr/bin/env python
#ecoding=utf8
import subprocess
try:
subprocess.check_call('exit 1', shell = True)
except subprocess.CalledProcessError: #不知道异常名称,使用:except Exception: 表示接受所有异常处理
pass
print "exit 1返回echo $?不是0,抛出异常,打印出来,捕捉到异常"
[root@133 systeminformation]# python process_check_call.py
exit 1返回echo $?不是0,抛出异常,打印出来,捕捉到异常 |
|
|