capturing output of command line in an array
Lee Capps
lcapps at cteresource.org
Wed Oct 31 11:44:14 EDT 2007
On Oct 31, 2007, at 11:01 AM, amjadcsu at gmail.com wrote:
> I am trying to execute a command using os.system. this command lists
> the number of nodes alive in a cluster. I would like to capture the
> output in list/array in python. IS it possible.?/
>
> Here is my command
> gstat -a
> node13 2 ( 0/ 56) [ 0.00, 0.00, 0.00] [ 0.0, 0.0,
> 0.1, 99.9, 0.0] OFF
> node12 2 ( 1/ 63) [ 0.99, 0.97, 0.91] [ 46.6, 0.0,
> 3.7, 49.8, 0.0] OFF
> node8 2 ( 1/ 59) [ 0.99, 0.97, 0.91] [ 47.5, 0.0,
> 2.8, 49.7, 0.0] OFF
> node2 2 ( 1/ 59) [ 0.99, 0.97, 0.91] [ 46.6, 0.0,
> 3.7, 49.7, 0.0] OFF
> node1 2 ( 1/ 59) [ 0.99, 0.97, 0.91] [ 46.6, 0.0,
> 3.7, 49.7, 0.0] OFF
> node7 2 ( 1/ 58) [ 0.99, 0.97, 0.91] [ 49.8, 0.0,
> 0.6, 49.7, 0.0] OFF
> node11 2 ( 1/ 59) [ 0.99, 0.97, 0.91] [ 46.6, 0.0,
> 3.8, 49.6, 0.0] OFF
> node4 2 ( 1/ 59) [ 1.00, 1.00, 0.93] [ 46.6, 0.0,
> 3.7, 49.7, 0.0] OFF
> node10 2 ( 1/ 59) [ 1.00, 1.00, 0.94] [ 46.7, 0.0,
> 3.7, 49.7, 0.0] OFF
> node5 2 ( 1/ 59) [ 1.00, 1.00, 0.92] [ 49.8, 0.0,
> 0.4, 49.7, 0.0] OFF
> node6 2 ( 1/ 59) [ 1.00, 1.00, 0.94] [ 49.5, 0.0,
> 0.9, 49.7, 0.0] OFF
>
> I would like to have an array where each element contains the nodes
>
> for example
> a=[node13,node12,node2,node8,node1,node7,node 11]
>
> any help would be appreciated
>
You might try os.popen to read in the output of your command.
It would be helpful to have more information about what you'd like to
do with your list. Do you just want to put the text of the
individual node lines from gstat into the list? If so, os.popen
should work for you. Or do you need to parse the lines and store
them in, say dictionaries? Tuples? If you need to parse it, you
could use module re, or even just string methods, depending on what
you're trying to do . . . .
HTH,
---
Lee Capps
Technology Specialist
CTE Resource Center
lcapps at cteresource.org
More information about the Python-list
mailing list