Getting the result of a process after exec*()

A

AndrewTK

Hi,

I am trying to write a Python script that takes a ZIP file from a web
form (using CGI) and uses either of the UN*X unzip, gunzip, tar,
bunzip2 utilities to expand it.

I can use Python to save the script to disk; but processing it is
another matter. If for example I have received a *.tar.gz file, I need
to first pass it through gunzip; then through the tar utility. I also
want to process the resulting directory.

The problem for me is this: once an external process is called via
exec*() the script has effectively fulfilled its task. Is there any
way one can process a file with an external process and continue
further processing in Python; /once the external processing is
completed/?

Many thanks,

Andrew
 
M

Miles

The problem for me is this: once an external process is called via
exec*() the script has effectively fulfilled its task. Is there any
way one can process a file with an external process and continue
further processing in Python; /once the external processing is
completed/?

Assuming you're looking at the docs for the os module, instead of the
exec*() functions, check out the spawn*() functions, or, to use a
subshell, system(). Better yet, take a look at the subprocess module:
http://docs.python.org/lib/module-subprocess.html

-Miles
 
M

markacy

Hi,

I am trying to write a Python script that takes a ZIP file from a web
form (using CGI) and uses either of the UN*X unzip, gunzip, tar,
bunzip2 utilities to expand it.

I can use Python to save the script to disk; but processing it is
another matter. If for example I have received a *.tar.gz file, I need
to first pass it through gunzip; then through the tar utility. I also
want to process the resulting directory.

The problem for me is this: once an external process is called via
exec*() the script has effectively fulfilled its task. Is there any
way one can process a file with an external process and continue
further processing in Python; /once the external processing is
completed/?

Many thanks,

Andrew

Hi Andrew,

Have You got some kind of requirement for using exec*() and calling
system gunzip etc?
I'd do It with urllib2 module (to download the file) and tarfile
module for extracting the *.tag.gz archive.

Cheers,
Marek
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,181
Messages
2,570,970
Members
47,537
Latest member
BellCorone

Latest Threads

Top