1、os.popen、os.system subprocess?

背景:查看一個(gè)項(xiàng)目的代碼,python獲取連接到電腦的設(shè)備列表時(shí),發(fā)現(xiàn)用到了os.popen和subprocess?故作簡(jiǎn)單了解和實(shí)踐

一、os.popen、os.system

1、os.system? 返回命令執(zhí)行狀態(tài)碼,而將命令執(zhí)行結(jié)果輸出到屏幕;執(zhí)行成功返回值為0

os.popen ? 返回 的是文件的對(duì)象?

>>> print os.system('adb devices')

List of devices attached

06157df6e2d18e3cdevice

0 #返回值為0

2、os.popen()可以獲取命令執(zhí)行結(jié)果,無法獲取命令執(zhí)行狀態(tài)碼;返回值是一個(gè)文件,后續(xù)可對(duì)文件進(jìn)行讀取

>>> print os.popen('adb devices')

<open file 'adb devices', mode 'r' at 0x1075cf5d0>??

>>>?

3、os.popen().readlines()繼續(xù)讀取文件

>>> print(os.popen("adb devices").readlines())

['List of devices attached\n', '06157df6e2d18e3c\tdevice\n', '\n']

二、subprocess :New in version 2.4.

subprocess.getstatusoutput:執(zhí)行命令后返回一個(gè)元組(命令執(zhí)行狀態(tài), 命令執(zhí)行結(jié)果輸出)

>>> subprocess.getstatusoutput("adb devices")

(0, 'List of devices attached\n06157df6e2d18e3c\tdevice\n')

英文文檔:https://docs.python.org/2/library/subprocess.html

詳細(xì)學(xué)習(xí)可參考文章:http://www.cnblogs.com/yyds/p/7288916.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容