亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

對(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)文章

  • 使用python獲取cpu每秒的使用率

    使用python獲取cpu每秒的使用率

    這篇文章主要介紹了使用python獲取cpu每秒的使用率,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Django環(huán)境下使用Ajax的操作代碼

    Django環(huán)境下使用Ajax的操作代碼

    AJAX 的主要目標(biāo)是在不刷新整個(gè)頁(yè)面的情況下,通過后臺(tái)與服務(wù)器進(jìn)行數(shù)據(jù)交換和更新頁(yè)面內(nèi)容,通過 AJAX,您可以向服務(wù)器發(fā)送請(qǐng)求并接收響應(yīng),然后使用 JavaScript 動(dòng)態(tài)地更新頁(yè)面的部分內(nèi)容,這篇文章主要介紹了Django環(huán)境下使用Ajax,需要的朋友可以參考下
    2024-03-03
  • 六個(gè)竅門助你提高Python運(yùn)行效率

    六個(gè)竅門助你提高Python運(yùn)行效率

    這篇文章主要介紹了六個(gè)竅門助你提高Python運(yùn)行效率,本文講解了關(guān)鍵代碼使用外部功能包、在排序時(shí)使用鍵、針對(duì)循環(huán)的優(yōu)化、使用較新的Python版本等優(yōu)化竅門,需要的朋友可以參考下
    2015-06-06
  • python字符串str和字節(jié)數(shù)組相互轉(zhuǎn)化方法

    python字符串str和字節(jié)數(shù)組相互轉(zhuǎn)化方法

    下面小編就為大家?guī)?lái)一篇python字符串str和字節(jié)數(shù)組相互轉(zhuǎn)化方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-03-03
  • python數(shù)學(xué)建模是加深Numpy和Pandas學(xué)習(xí)

    python數(shù)學(xué)建模是加深Numpy和Pandas學(xué)習(xí)

    這篇文章主要介紹了python數(shù)學(xué)建模是加深Numpy和Pandas學(xué)習(xí),緊接上一篇學(xué)習(xí)內(nèi)容展開Numpy更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-07-07
  • python 循環(huán)遍歷字典元素的簡(jiǎn)單方法

    python 循環(huán)遍歷字典元素的簡(jiǎn)單方法

    下面小編就為大家?guī)?lái)一篇python循環(huán)遍歷字典元素的簡(jiǎn)單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2016-09-09
  • python sqlalchemy動(dòng)態(tài)修改tablename兩種實(shí)現(xiàn)方式

    python sqlalchemy動(dòng)態(tài)修改tablename兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了python sqlalchemy動(dòng)態(tài)修改tablename兩種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-03-03
  • django框架中ajax的使用及避開CSRF 驗(yàn)證的方式詳解

    django框架中ajax的使用及避開CSRF 驗(yàn)證的方式詳解

    這篇文章主要介紹了django框架中ajax的使用及避開CSRF 驗(yàn)證的方式,結(jié)合實(shí)例形式分析了Django框架ajax后臺(tái)交互與排除驗(yàn)證csrf相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • Python實(shí)現(xiàn)提取語(yǔ)句中的人名

    Python實(shí)現(xiàn)提取語(yǔ)句中的人名

    這篇文章主要為大家介紹一個(gè)小工具:可以將語(yǔ)句中的人名提取出來(lái)。文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-01-01
  • Python中os模塊的實(shí)例用法

    Python中os模塊的實(shí)例用法

    在本篇文章里小編給大家整理的是一篇關(guān)于Python中os模塊的實(shí)例用法,有興趣的朋友們可以學(xué)習(xí)下。
    2021-06-06

最新評(píng)論