时间:2021-05-22
有时候我们的代码里可能要调用控制台命令,比如我想用Python写一个批量编译 .java 文件的脚本,用到如下代码
常规用法 os.system
import os,tracebacktry: p = os.system("javac Test.java") print pexcept: print "\nexcept:\n" print traceback.format_exc()如然编译成功会返回一个0,如果错误会返回一个非0的值给p,这种方法可以知道执行结果,但是无法捕获比较重要的提示信息,例如:“错误: 找不到文件: Tst.java”。
0错误: 找不到文件: Tst.java用法: javac <选项> <源文件>使用 --help 可列出可能的选项512接下来我们用 commands.getstatusoutput 来捕获输出流
import commands,tracebacktry: 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捕获控制台输出流的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了python实现控制台输出颜色的具体代码,供大家参考,具体内容如下python控制台输出颜色,out()是基本方法,还封装了一些基本颜色方法
Eclipse的控制台经常对C语言的printf不能正常输出,究其原因,就是因为输出内容停留在了输出缓冲区里,而没有及时输出到控制台界面,解决的方法很简单:在每
java从控制台接收一个数字的实例详解功能:从控制台接收一个数实现代码:importjava.io.*;//引入一个IO流的包publicclasshellow
很多时候在Linux系统下运行python程序时,控制台会输出一些有用的信息。为了方便保存这些信息,有时需要对这些信息进行保存。这里介绍几种将控制台输出保存到文
本文实例讲述了C#实现在控制台输出当前系统时间的方法。分享给大家供大家参考。具体实现方法如下://C#实现的小控制台程序:动态输出当前时间usingSystem