[Tutor] Working with output of a subprocess

Jan Riechers janpeterr at freenet.de
Sat Jan 12 16:28:02 CET 2013


On 12.01.2013 00:29, 3n2 Solutions wrote:
> Need some help with working with a text file.
> Is it possible to get the values associated with each of the parameter
> in the below text file format? For example:
>
> 1. How can I check what the Min and Max values are?
> 2. How to check the second column value associated with "epoch2"?
>
>
>
>
> Examining file: 5521W2310000.txt
>
> Duration                 :      0h : 59m
> First meas : week   :  86     :   1721
> Last  meas : week   :  89     :   1721
>
> Min val           :     15
> Max val         :     18
> 3D             :   3600  100.0%
>
> summary Total  Missed    Rate
> epoch1                :        1378       0       0\1000
> epoch2                :        2154       1       0\1000
>

Alan's approach, writing a parser is right, just what I might want to add.

Just by looking at the general structure of the file:

For example the line:
"epoch1                :        1378       0       0\1000"
its like:

command/parameter TAB TAB ":" value TAB value TAB value"\"secondValue

Having a deeper look:
1) go line by line and check if the line starts with a searched value, 
like said
2) use a split to break up the structure of that line if its a command 
you want to get the values from, diving it to command, value pair using 
":" as a split character (for the epoch line)

Now you could split the value part result[2] = result[2].split('\t')
by "\t" tabulator sign and access the subvalues of that.

So the structure will be something like, after the 2nd split:
['epoch1', [1378, 0, '0\1000']]

If you encounter that there are tabs inside the command result, you can 
use str.rstrip('\t') to cut off tabs.

To avoid that the timestamp gets broken up into two parts, use 
str.split(':', 1) (only one split of that line) or similar.

Hope that helps.

Jan


More information about the Tutor mailing list