subprocess模块的使用
admin
2023-08-02 03:00:08
0

subprocess模块的使用

1、调用本地shell脚本

[root@133 systeminformation]# cat test.sh
#!/bin/bash
echo "hello world!"

In [1]: from subprocess import Popen,PIPE
In [2]: p=Popen('./test.sh',shell=True)
hello world!


2、p1的输出作为p2的输入(PIPE即是管道)

In [15]: p1 = Popen(['ls'],stdout=PIPE)

In [16]: p2 = Popen(['grep','py'],stdin=p1.stdout,stdout=PIPE)

In [17]: result = p2.stdout

In [18]: for i in result:print i
10_httpd.py

1_md5.py

1_walk.py

ErrorExcept.py

hashlib2.py

isNum.py

process_check_call.py

subprocess.py

subprocess.pyc

top10.py

walk1.py

yield1.py

yield2.py


 p.communicate()方法相当于p.stdin.write()、p.stdin.close()和p.stdout.read()这3个方法


p.communicate返回的是两个元素的元祖

In [29]: p = Popen(['cat'],stdin=PIPE,stdout=PIPE)

In [30]: p.communicate('abc')
Out[30]: ('abc', None)


In [19]: p = Popen(['wc'],stdin=PIPE,stdout=PIPE,stderr=PIPE)
In [20]: p.terminate()
In [21]: p.wait()
Out[21]: -15
In [22]: p.wait()
Out[22]: -15
In [23]: p.wait()
Out[23]: -15
In [24]: p.pid
Out[24]: 6241
In [25]: p.returncode
Out[25]: -15



In [43]: help(p1.wait)

Help on method wait in module subprocess:

wait(self) method of subprocess.Popen instance
    Wait for child process to terminate.  Returns returncode
    attribute.
~


In [44]: help(p1.returncode)

Help on NoneType object:

class NoneType(object)
 |  Methods defined here:
 |  
 |  __hash__(...)
 |      x.__hash__() <==> hash(x)
 |  
 |  __repr__(...)
 |      x.__repr__() <==> repr(x)
(END)




相关内容

热门资讯

电视遥控器失灵怎么办 当电视遥控器失灵时,我们可以采取以下方法进行处理: 1. 更换电池:如果电视遥控器没有响应,可能是...
飞利浦电视遥控器失灵电视按键失... 1、这种情况有可能是由于电视机的接收器出现了故障导致的。2、或者是电视遥控器和电视按键同时出现了故障...
开关机键失灵了怎么办? 1、关闭后台运行,清理手机垃圾,释放出更多的空间。2、如果手机已经进了灰尘,可以请专业人士进行拆机清...
小米电视机开关机设置方法 小米电视机是一款智能电视,提供了多种功能和设置。其中一个基本设置是开关机设置。以下是设置小米电视机开...
老挝正式成为上海合作组织对话伙... 今天(10日)上午,上海合作组织授予老挝人民民主共和国对话伙伴地位备忘录签署仪式在北京举行。在去年举...
这些中国人,为何对印度充满傲慢... 撰文丨任大刚最近几年,中国舆论对印度人的风评持续走低。01印度形象败坏简史先是硅谷的高管位置,逐渐被...
闻“汛”而动,向险而行!中国人... 7月5日,台风“美莎克”进入广西境内,对广西多地造成大面积的洪涝灾害。闻令而动,快速响应。灾情发生后...
中共中央党校(国家行政学院)李... 7月6日,中共中央党校(国家行政学院)科学社会主义教研部中国特色社会主义教研室主任、博士生导师,国内...
大经住工取得具备快速拼接的叠合... 国家知识产权局信息显示,浙江大经住工科技有限公司取得一项名为“一种具备快速拼接的叠合板”的专利,授权...
厉害了!“00后”任北大博导 近日,北京大学信息工程学院官网更新师资队伍信息显示,稍早前入职担任北京大学信息工程学院助理教授的 唐...