using subprocess module in Python CGI

ANURAG BAGARIA anurag.bagaria at gmail.com
Mon Dec 22 05:02:08 EST 2008


Hello,

I am a Python Newbie and would like to call a short python script via
browser using a CGI script, but initially I am trying to call the same
python script directly through python command line. The script intends to
perform a few command line in a pipe and I have written the script (a short
one) as follows.

#!/usr/bin/python

import cgi, string, os, sys, cgitb, commands, subprocess
import posixpath, macpath
#file = "x.tar.gz"
#comd = "tar -xf %s" % (file)
#os.system(comd)
#commands.getoutput('tar -xf x.tar.gz | cd demo; cp README ../')
comd = [\
        "tar -xf x.tar.gz", \
        "cd demo", \
        "cp README ../", \
      ]
outFile = os.path.join(os.curdir, "output.log")
outptr = file(outFile, "w")
errFile = os.path.join(os.curdir, "error.log")
errptr = file(errFile, "w")
retval = subprocess.call(comd, 0, None, None, outptr, errptr)
errptr.close()
outptr.close()
if not retval == 0:
        errptr = file(errFile, "r")
        errData = errptr.read()
        errptr.close()
        raise Exception("Error executing command: " + repr(errData))


but after trying to execute this independently, I get the following error
which I am unable to interpret :

Traceback (most recent call last):
  File "process.py", line 18, in <module>
    retval = subprocess.call(comd, 0, None, None, outptr, errptr)
  File "/usr/lib/python2.5/subprocess.py", line 443, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.5/subprocess.py", line 593, in __init__
    errread, errwrite)
  File "/usr/lib/python2.5/subprocess.py", line 1135, in _execute_child
    raise child_exception


Could someone suggest where am I going wrong and if corrected, what is the
probability of this script being compatible with being called through the
browser. Thanking you people in advance.

Regards.

-- 
I just want to LIVE while I'm alive.


AB
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20081222/13396004/attachment.html>


More information about the Python-list mailing list