最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對(duì)Python捕獲控制臺(tái)輸出流的方法詳解

 更新時(shí)間:2019年01月07日 15:36:02   作者:seTaire  
今天小編就為大家分享一篇對(duì)Python捕獲控制臺(tái)輸出流的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

有時(shí)候我們的代碼里可能要調(diào)用控制臺(tái)命令,比如我想用Python寫一個(gè)批量編譯 .java 文件的腳本,用到如下代碼

常規(guī)用法 os.system

import os,traceback
try:
 p = os.system("javac Test.java")
 print p
except:
 print "\nexcept:\n"
 print traceback.format_exc()

如然編譯成功會(huì)返回一個(gè)0,如果錯(cuò)誤會(huì)返回一個(gè)非0的值給p,這種方法可以知道執(zhí)行結(jié)果,但是無(wú)法捕獲比較重要的提示信息,例如:“錯(cuò)誤: 找不到文件: Tst.java”。

0
錯(cuò)誤: 找不到文件: Tst.java
用法: javac <選項(xiàng)> <源文件>
使用 --help 可列出可能的選項(xiàng)
512

接下來(lái)我們用 commands.getstatusoutput 來(lái)捕獲輸出流

import commands,traceback
try:
 res = commands.getstatusoutput("javac Test.java")
 print res
 print res[1]
except:
 print "\nexcept:\n"
 print traceback.format_exc()

成功會(huì)返回一個(gè)tuple,例如(0, ' '),第一個(gè)元素表示狀態(tài),0代表成功,第二個(gè)是輸出信息,如果錯(cuò)誤則返回下面的結(jié)果

(512, '\xe9\x94\x99\xe8\xaf\xaf: \xe6\x89\xbe\xe4\xb8\x8d\xe5\x88\xb0\xe6\x96\x87\xe4\xbb\xb6: Tst.java\n\xe7\x94\xa8\xe6\xb3\x95: javac <\xe9\x80\x89\xe9\xa1\xb9> <\xe6\xba\x90\xe6\x96\x87\xe4\xbb\xb6>\n\xe4\xbd\xbf\xe7\x94\xa8 --help \xe5\x8f\xaf\xe5\x88\x97\xe5\x87\xba\xe5\x8f\xaf\xe8\x83\xbd\xe7\x9a\x84\xe9\x80\x89\xe9\xa1\xb9')
錯(cuò)誤: 找不到文件: Tst.java
用法: javac <選項(xiàng)> <源文件>
使用 --help 可列出可能的選項(xiàng)

以上這篇對(duì)Python捕獲控制臺(tái)輸出流的方法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

新平| 务川| 新和县| 巴青县| 交口县| 义乌市| 雅江县| 汉寿县| 赤城县| 平山县| 元朗区| 陆川县| 土默特右旗| 灵宝市| 宜丰县| 图木舒克市| 乌鲁木齐县| 苍山县| 商都县| 垫江县| 霸州市| 富顺县| 板桥市| 长宁区| 东至县| 开封市| 大关县| 枣强县| 北京市| 饶河县| 临安市| 宁德市| 成都市| 胶州市| 彝良县| 新乡县| 岳西县| 建瓯市| 延庆县| 青龙| 丹凤县|