By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,293 Members | 1,183 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,293 IT Pros & Developers. It's quick & easy.

Getting the result of a process after exec*()

P: n/a
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

Aug 17 '07 #1
Share this Question
Share on Google+
2 Replies

P: n/a
On 8/17/07, AndrewTK <at**********@gmail.comwrote:
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
Aug 17 '07 #2

P: n/a
On 17 Sie, 16:33, AndrewTK <atkedzier...@gmail.comwrote:
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

Aug 18 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.