0
我已经创建了一个在Linux终端中运行命令的GUI。在GUI中传递终端输出
实施例=> -n 20 -id 15 -domain平方(10,20)-dim 2 -o执行-format地理位置,苔丝
该命令是用于一个代码的执行对包。并且在Linux终端中执行一系列输出时。输出成功并且输出已生成,或者由于转储错误或参数错误而发生错误。终端输出的
实例:
错误:matheval未能处理的表达。表达式 语法可能不正确。这也可能是由于数据安装不正确(表达式= 1-fiber(,,))造成的。中止(核 倾倒)
另一个错误
错误:错误的参数! 中止(核心转储)
什么,我试图做的是返回此错误回到GUI无论是作为MessageBox的和/或更新与错误的GUI的底部状态栏。
我对wx和subprocess模块并不熟悉,但我迄今为止的研究未能找到解决方案。
我正在运行Python 2.7并使用Tkinter。
如果你的问题是与Tk,[这可能有帮助](http://stackoverflow.com/questions/17280637/tkinter-messagebox-without-window)。 –
如果你的问题是捕获你的“Linux Terminal”命令的'stderr',你可能需要'subprocess.Popen()'和'stderr = subprocess.PIPE'。例如,尝试:'p = subprocess.Popen('/ bin/cat /bad_path'.split(),stderr = subprocess.PIPE)''后面跟'sout,serr = p.communicate()'。 –
@BrianMcFarland谢谢你。我知道我需要传递我在Popen中使用的命令 > p = subprocess.Popen(['neper','-T','-format',output_form,'-n',n,'-id ',id,'-dim',dim,reg],stdout = subprocess.PIPE) 因为这似乎会在终端中创建一个错误,但命令语法是正确的。 –