日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python常用外部指令執行代碼實例

瀏覽:97日期:2022-07-06 11:51:55

1、os.system()

阻塞

屏幕會打印命令的輸出

返回命令結果碼

# -*- encoding=utf-8 -*-import osif __name__ == ’__main__’: pass print(’開始’) ret1 = os.system(’python’) print(’ret1:{}’.format(ret1)) ret2 = os.system(’java -version’) print(’ret2:{}’.format(ret2)) print(’結束’)

運行

Python常用外部指令執行代碼實例

可能有人理解阻塞是因為運行了python,因此我嘗試兩個命令都用java -version

# -*- encoding=utf-8 -*-import osif __name__ == ’__main__’: pass print(’開始’) ret1 = os.system(’java -version’) print(’ret1:{}’.format(ret1)) ret2 = os.system(’java -version’) print(’ret2:{}’.format(ret2)) print(’結束’)

運行

Python常用外部指令執行代碼實例

2、os.popen()

阻塞或不阻塞

屏幕不會打印出命令的輸出

返回文件對象,可用read,readline讀取

不阻塞時:

# -*- encoding=utf-8 -*-import osif __name__ == ’__main__’: pass print(’開始’) os.popen(’python’) ret2 = os.popen(’java -version’) print(’結束’)

運行(程序很快打印開始和結束,就像只用了兩個print語句一樣快)

Python常用外部指令執行代碼實例

阻塞時:

# -*- encoding=utf-8 -*-import osif __name__ == ’__main__’: pass print(’開始’) ret1 = os.popen(’python’) print(ret1.read()) ret2 = os.popen(’java -version’) print(ret2.read()) print(’結束’)

運行

Python常用外部指令執行代碼實例

3、commands.getstatusoutput

python2.+中使用

需要到linux運行

阻塞或者非阻塞

屏幕不會打印出命令的輸出

非阻塞時

# -*- encoding=utf-8 -*-import commandsif __name__ == ’__main__’: pass print(’開始’) ret1 = commands.getstatusoutput(’python’) ret2 = commands.getstatusoutput(’java -version’) print(’結束’)

運行

Python常用外部指令執行代碼實例

阻塞時:

# -*- encoding=utf-8 -*-import commandsif __name__ == ’__main__’: pass print(’開始’) ret1 = commands.getstatusoutput(’python’) print ret1[0] print ret1[1] print ’==============’ ret2 = commands.getstatusoutput(’java -version’) print ret2[0] print ret2[1] print ’==============’ print(’結束’)

運行

Python常用外部指令執行代碼實例

4、subprocess中Popen

阻塞或非阻塞,同上面一樣,通過是否讀取IO決定是否阻塞

屏幕會打印出命令的輸出

可通過stdout,stderr參數指定輸出或錯誤打印到文件

# -*- encoding=utf-8 -*-import subprocessif __name__ == ’__main__’: pass print(’開始’) s1 = subprocess.Popen(’python’) s1.wait() s2 = subprocess.Popen(’java -version’) s2.wait() print(’結束’)

運行

Python常用外部指令執行代碼實例

4.1、 輸出到文件

通過文件對象來輸出到文件中

# -*- encoding=utf-8 -*-import subprocessif __name__ == ’__main__’: pass print(’開始’) with open(’s1.txt’, ’w’) as f: s1 = subprocess.Popen(’python’, stdout=f, ) # 指定輸出重定向到文件 s1.wait(10) # 超過10秒還沒執行完會拋出異常 with open(’s2.txt’, ’w’) as f: s2 = subprocess.Popen(’java -version’, stdout=f, stderr=f) # 指定輸出和錯誤都重定向到文件 s2.wait() print(’結束’)

運行后可看到文件已經寫入,屏幕不打印。需要注意是stdout還是stderr。

4.2、捕獲輸出和錯誤

PIPE通過開一個新的管道來接收運行狀態

# -*- encoding=utf-8 -*-import subprocessif __name__ == ’__main__’: pass print(’開始’) s1 = subprocess.Popen(’java -version’, stdout=subprocess.PIPE, stderr=subprocess.PIPE) s1.wait(10) # 超過10秒還沒執行完會拋出異常 print(s1.returncode) # 結果碼 print(s1.poll()) # 已經執行結束返回結果碼,否則返回None std1 = s1.stdout.read() print(’std_out:{}’.format(std1)) std2 = s1.stderr.read() print(’std_err:{}’.format(std2)) print(’結束’)

運行

Python常用外部指令執行代碼實例

5、subprocess.call

用來替代os.system

阻塞

# -*- encoding=utf-8 -*-import subprocessif __name__ == ’__main__’: pass print(’開始’) s1 = subprocess.call(’java -version’, ) print(s1) s2 = subprocess.call(’python’, ) print(s2) s3 = subprocess.call(’python’, timeout=3) # 超時拋出異常 print(s3) print(’結束’)

6、check_call()和check_output()

都會檢查結果碼,不是0就拋出異常

check_call()返回狀態碼

check_output()返回輸出

# -*- encoding=utf-8 -*-import subprocessif __name__ == ’__main__’: pass print(’開始’) s1 = subprocess.check_call(’java -version’, ) print(s1) s2 = subprocess.check_output(’java -version’, ) print(s2) print(’結束’)

運行

Python常用外部指令執行代碼實例

使用上面提到的三個方法:call()、check_call() 和 check_output() 時,盡量不要將參數stderr和stdout設置為 subprocess.PIPE,這幾個函數默認都會等待子進程完成,子進程產生大量的輸出數據如果造成管道堵塞,父進程再等待子進程完成可能造成死鎖。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久国内精品视频| 国产精品7m凸凹视频分类| 日本精品久久| 国产激情精品一区二区三区| 国产91在线播放精品| 亚洲高清激情| 亚洲精品日韩久久| 欧美在线日韩| 在线看片福利| 99国产精品久久久久久久成人热| 日韩精品视频中文字幕| 岛国av在线网站| 亚洲制服少妇| 欧美国产专区| 午夜欧美在线| 久久国产日韩欧美精品| 老牛影视精品| 巨乳诱惑日韩免费av| 欧美偷窥清纯综合图区| 国产99在线| 中文字幕日韩亚洲| 国产va免费精品观看精品视频| 影视先锋久久| 欧美中文高清| 欧美亚洲国产激情| 国产精品最新自拍| 黄色成人在线网址| 欧美激情视频一区二区三区免费| 九九综合在线| 国产精品nxnn| 国产一区导航| 国产videos久久| 亚洲青青久久| 久久精品观看| 国产区精品区| 女人天堂亚洲aⅴ在线观看| 日韩激情啪啪| 久久久一二三| 国产精品视频一区二区三区四蜜臂 | av资源中文在线| 中文字幕日本一区二区| 欧美羞羞视频| 国产三级一区| 亚洲免费高清| 欧美少妇精品| 国产精品久久久久久模特| 亚洲一区网站| 日韩免费视频| 国产精品日本一区二区不卡视频| 欧美成人高清| 日韩1区2区| 91亚洲无吗| 午夜在线一区二区| av高清一区| 国产精品高潮呻吟久久久久| 亚洲一区亚洲| 久久中文字幕av| 国产成人精品一区二区三区免费| 亚洲理论在线| 国产一区白浆| 久久久久久久久久久9不雅视频| 国产精品男女| 日韩欧美激情| 久久高清一区| 久久久精品网| 正在播放日韩精品| 免费在线观看一区| 日韩av网站在线免费观看| 久久性天堂网| 欧美福利专区| 91精品综合| 欧美日韩国产观看视频| 精品丝袜久久| 欧美久久一区二区三区| 亚洲午夜国产成人| 久久99伊人| 亚洲综合精品| 亚洲视频播放| 99精品99| 九九综合在线| 亚洲精品网址| 亚州av乱码久久精品蜜桃| 久久久9色精品国产一区二区三区| 精品国产第一福利网站| 亚洲最新无码中文字幕久久 | 韩国精品主播一区二区在线观看| 精品国产三区在线| 国产一区福利| 精品三级av| 精品美女在线视频| 国产精品99一区二区三| 欧美1区2区3| 国产一区二区精品久| 国产在线观看91一区二区三区| 久久影视三级福利片| 你懂的国产精品永久在线| 免费在线亚洲欧美| 国产suv精品一区| 亚洲黄色免费av| 亚洲va在线| 亚洲精品a级片| 首页亚洲欧美制服丝腿| 中文视频一区| 日韩国产一二三区| 国产精品夜夜夜| 美女视频免费精品| 麻豆精品视频在线| 久久一区精品| 水蜜桃精品av一区二区| 电影亚洲精品噜噜在线观看| 欧美丝袜一区| 亚洲视频国产| 国产乱码精品一区二区亚洲| 麻豆久久一区二区| 欧美日韩视频免费观看| 欧美不卡在线| 亚洲精品乱码| 国产乱人伦丫前精品视频| 九九九精品视频| 日韩福利一区| 亚洲国产不卡| 三级欧美韩日大片在线看| 日韩影片在线观看| 国产精品一区亚洲| 亚洲欧洲高清| 亚洲少妇在线| 国产精品久久久久久久久久久久久久久| 麻豆一区二区在线| 欧美日韩一二| 免费的成人av| 国产精品久久久久久模特| 蜜臀国产一区| 中文字幕av一区二区三区人 | 在线日韩成人| 国产探花在线精品| 亚洲国产欧美日本视频| 国产精品色网| 国产日产一区| 国产精品亚洲一区二区三区在线观看| 不卡在线一区二区| 日本成人在线网站| av最新在线| 亚洲男女自偷自拍| 国产日韩高清一区二区三区在线| 日韩啪啪电影网| 在线精品观看| 精品国产成人| 欧美午夜不卡| 国产伦理一区| 精品一区在线| 国产精品久久乐| 欧美日韩激情| 国产伦精品一区二区三区在线播放| 成人日韩在线观看| 日本va欧美va欧美va精品| 欧美精品日日操| 日韩一区二区三区精品视频第3页| 精品深夜福利视频| 蜜桃久久精品一区二区| 日本久久精品| 日韩av资源网| 免费久久久久久久久| 国产欧美一区二区三区米奇| 999国产精品视频| 国产美女亚洲精品7777| 亚洲激情社区| 黄毛片在线观看| 日韩va亚洲va欧美va久久| 久久久9色精品国产一区二区三区| 日韩福利视频一区| 欧美亚洲精品在线| 久久99国产精品视频| 免费的成人av| 91精品国产调教在线观看| 国产精品免费精品自在线观看| 99视频在线精品国自产拍免费观看| 久久99精品久久久久久园产越南| 午夜精品一区二区三区国产| 久久精品国产成人一区二区三区| 亚洲午夜国产成人| 欧美搞黄网站| 日本一区二区免费高清| 欧美日韩一区二区高清| 中文一区在线| 精品日韩视频| 久久的色偷偷| 一区二区亚洲视频| 国产在线不卡| 国产成人在线中文字幕| 日韩va亚洲va欧美va久久| 99亚洲视频| 91精品国产自产在线观看永久∴| 国产经典一区| 蜜桃91丨九色丨蝌蚪91桃色 | 日韩午夜在线| 久久国产亚洲精品| 你懂的网址国产 欧美| 日韩av影院| 一区二区三区四区日韩| 一区二区视频欧美|