如何打印子进程的部分输出

时间:2014-03-05 11:27:45

标签: python regex subprocess

如何打印子进程返回的stdout的某些部分?例如。从下面的示例中,如何打印“功能数量”和“谓词数量”?

command = "java -cp \"C:\mallet-2.0.7\class;C:\mallet-2.0.7\lib\mallet-deps.jar\" cc.mallet.fst.SimpleTagger --train true --model-file model train
p = Popen(command, stdout=PIPE, stderr=STDOUT, shell = True)   
for line in p.stdout:
    print line

>>>
   Number of features in training data: 6

   Number of predicates: 6

   Labels: O noun non-noun

   Preparing O

   O->O(O) O,O

   ......... 

1 个答案:

答案 0 :(得分:0)

我能看到的最简单方法是将您的最后一段代码更改为:

for line in p.stdout:
    if "Number of" in line:
        print line

这只是数据,你只需要选择你想要(或需要)的位。