passing Python assignment value to shell

Satish Muthali satish.muthali at gmail.com
Thu May 29 00:48:24 EDT 2014


Hello Experts,

I was able to figure this out after spending time reading the Python help docs.

This is what I went about doing:


> reecalc = [s.split() for s in os.Popen("free -ht").read().splitlines()]
> freecalc_total = freecalc[4]
> freecalc_total = freecalc_total[3]
> freecalc_total = freecalc_total.translate(None, 'M’)

   tmp = "%s" % freecalc_total
  command = "stressapptest -M %s -s 20" % tmp
  p = subprocess.Popen(command, shell=True,  stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0]
…
…
...

Please let me know if this is the optimal method to achieve in order to pass the assignment value to shell. I am open to suggestions or a better way of implementation/logic.

Thanks again

Satish

On May 28, 2014, at 1:16 PM, Satish Muthali <satish.muthali at gmail.com> wrote:

> Hello Experts,
> 
> I am trying to extract the available userspace+swap memory and then want to feed this value as an argument to a tool that is executed in the shell.
> 
> so, this is what I have so far:
> 
> reecalc = [s.split() for s in os.Popen("free -ht").read().splitlines()]
> freecalc_total = freecalc[4]
> freecalc_total = freecalc_total[3]
> freecalc_total = freecalc_total.translate(None, 'M’)
> 
> Now I want to feed the value for ‘freecalc_total’ as an argument to a command executed by the shell.
> 
> For example:
> 
> devnull = open(os.devnull, “w”)
> runCommand = subprocess.call([“stressapptest”, “<I want to pass the value of freecalc_total here>”, “20”],stdout=devnull,stderr=subprocess.STDOUT)
> devnull.close()
> 
> How do I go about  doing this?
> 
> Many thanks in advance
> 
> -Satish

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140528/8feb0d4d/attachment.html>


More information about the Python-list mailing list