Python中subprocess模塊用法實例詳解
本文實例講述了Python中subprocess模塊用法。分享給大家供大家參考。具體如下:
執(zhí)行命令:
>>> subprocess.call(["ls", "-l"])
0
>>> subprocess.call("exit 1", shell=True)
1
測試調(diào)用系統(tǒng)中cmd命令,顯示命令執(zhí)行的結(jié)果:
x=subprocess.check_output(["echo", "Hello World!"],shell=True) print(x) "Hello World!"
測試在python中顯示文件內(nèi)容:
y=subprocess.check_output(["type", "app2.cpp"],shell=True) print(y) #include <iostream> using namespace std; ......
查看ipconfig -all命令的輸出,并將將輸出保存到文件tmp.log中:
handle = open(r'd:\tmp.log','wt') subprocess.Popen(['ipconfig','-all'], stdout=handle)
查看網(wǎng)絡(luò)設(shè)置ipconfig -all,保存到變量中:
output = subprocess.Popen(['ipconfig','-all'], stdout=subprocess.PIPE,shell=True)
oc=output.communicate()#取出output中的字符串
#communicate() returns a tuple (stdoutdata, stderrdata).
print(oc[0]) #打印網(wǎng)絡(luò)信息
Windows IP Configuration
Host Name . . . . .
我們可以在Popen()建立子進程的時候改變標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤,并可以利用subprocess.PIPE將多個子進程的輸入和輸出連接在一起,構(gòu)成管道(pipe):
child1 = subprocess.Popen(["dir","/w"], stdout=subprocess.PIPE,shell=True)
child2 = subprocess.Popen(["wc"], stdin=child1.stdout,stdout=subprocess.PIPE,shell=True)
out = child2.communicate()
print(out)
(' 9 24 298\n', None)
如果想頻繁地和子線程通信,那么不能使用communicate();因為communicate通信一次之后即關(guān)閉了管道.這時可以試試下面的方法:
p= subprocess.Popen(["wc"], stdin=subprocess.PIPE,stdout=subprocess.PIPE,shell=True)
p.stdin.write('your command')
p.stdin.flush()
#......do something
try:
#......do something
p.stdout.readline()
#......do something
except:
print('IOError')
#......do something more
p.stdin.write('your other command')
p.stdin.flush()
#......do something more
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
Python面向?qū)ο蟪绦蛟O(shè)計之類的定義與繼承簡單示例
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計之類的定義與繼承,結(jié)合完整實例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計中類的定義、調(diào)用、繼承及相關(guān)操作注意事項,需要的朋友可以參考下2019-03-03
matplotlib之Pyplot模塊繪制三維散點圖使用顏色表示數(shù)值大小
在撰寫論文時常常會用到matplotlib來繪制三維散點圖,下面這篇文章主要給大家介紹了關(guān)于matplotlib之Pyplot模塊繪制三維散點圖使用顏色表示數(shù)值大小的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
Python標(biāo)準(zhǔn)庫中的sys你了解嗎
這篇文章主要為大家詳細(xì)介紹了Python標(biāo)準(zhǔn)庫中的sys,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
Python中隨機數(shù)生成random庫實戰(zhàn)
本文介紹了Python的random庫,介紹了生成隨機整數(shù)、浮點數(shù)、序列隨機抽樣等基本功能,以及設(shè)置隨機種子、控制概率分布等高級技巧,通過多個實用示例,感興趣的可以了解一下2024-11-11
使用Python構(gòu)造hive insert語句說明
這篇文章主要介紹了使用Python構(gòu)造hive insert語句說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

