python流获取控制台_对Python捕获控制台输出流的方法详解
有時候我們的代碼里可能要調用控制臺命令,比如我想用Python寫一個批量編譯 .java 文件的腳本,用到如下代碼
常規用法 os.system
import os,traceback
try:
p = os.system("javac Test.java")
print p
except:
print "nexcept:n"
print traceback.format_exc()
如然編譯成功會返回一個0,如果錯誤會返回一個非0的值給p,這種方法可以知道執行結果,但是無法捕獲比較重要的提示信息,例如:“錯誤: 找不到文件: Tst.java”。
0
錯誤: 找不到文件: Tst.java
用法: javac
使用 --help 可列出可能的選項
512
接下來我們用 commands.getstatusoutput 來捕獲輸出流
import commands,traceback
try:
res = commands.getstatusoutput("javac Test.java")
print res
print res[1]except:
print "nexcept:n"
print traceback.format_exc()
成功會返回一個tuple,例如(0, ‘ ‘),第一個元素表示狀態,0代表成功,第二個是輸出信息,如果錯誤則返回下面的結果
(512, 'xe9x94x99xe8xafxaf: xe6x89xbexe4xb8x8dxe5x88xb0xe6x96x87xe4xbbxb6: Tst.javanxe7x94xa8xe6xb3x95: javac nxe4xbdxbfxe7x94xa8 --help xe5x8fxafxe5x88x97xe5x87xbaxe5x8fxafxe8x83xbdxe7x9ax84xe9x80x89xe9xa1xb9')
錯誤: 找不到文件: Tst.java
用法: javac
使用 --help 可列出可能的選項
以上這篇對Python捕獲控制臺輸出流的方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持軟件開發網。
您可能感興趣的文章:實時獲取Python的print輸出流方法python 捕獲shell腳本的輸出結果實例python在控制臺輸出進度條的方法Python同時向控制臺和文件輸出日志logging的方法python 捕獲 shell/bash 腳本的輸出結果實例python 信息同時輸出到控制臺與文件的實例講解
總結
以上是生活随笔為你收集整理的python流获取控制台_对Python捕获控制台输出流的方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 爬网页 发布wordpre
- 下一篇: python foreach用法_C#