亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對Python捕獲控制臺輸出流的方法詳解

發布時間:2020-09-17 17:38:29 來源:腳本之家 閱讀:311 作者:seTaire 欄目:開發技術

有時候我們的代碼里可能要調用控制臺命令,比如我想用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, '\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')
錯誤: 找不到文件: Tst.java
用法: javac <選項> <源文件>
使用 --help 可列出可能的選項

以上這篇對Python捕獲控制臺輸出流的方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡阳市| 沁源县| 浦江县| 天峻县| 图们市| 襄城县| 宜章县| 湖州市| 巴彦淖尔市| 读书| 安西县| 齐河县| 锡林浩特市| 利川市| 穆棱市| 阿克苏市| 灵宝市| 大庆市| 台北县| 兰考县| 靖边县| 江阴市| 施秉县| 香格里拉县| 鄂尔多斯市| 潍坊市| 黎川县| 阜南县| 乐平市| 敖汉旗| 乌兰县| 定结县| 瑞昌市| 肥东县| 正宁县| 百色市| 安溪县| 关岭| 安仁县| 台南县| 黎川县|