Pyhton script to call another program

norseman norseman at hughes.net
Wed May 6 13:47:21 EDT 2009


Ben Keshet wrote:
> Hi,
> 
> I am trying to write a simple python script to manipulate files and call 
> other programs.  I have a program installed (rocs) which I run using 
> cygwin on my XP (but is not in python).  Can I run the pyhton script and 
> then call the other program in the same script?
> 
> For example:
> Python Code  # this line opens a file
> Python Code  # this line splits the file into 4 different files
> rocs  # this line calls the program 'rocs' to run on the newly formed files
> Python Code # this line renames rocs output files and saves them in the 
> right place.
> 
> Otherwise, I would have to write two scripts (before and after 'rocs'), 
> and run the 3 scripts/programs separately.
> I am relatively new to python and don't know a lot about cygwin.  Please 
> remember that if you try to answer me :) Thanks!
> -- 
> http://mail.python.org/mailman/listinfo/python-list
> 
==========================================
If you don't like a lot of typing that obscures the process,
take a look at the spawn family.


  processPython 2.5.2 (r252:60911, Mar  4 2008, 10:40:55)
[GCC 3.3.6] on linux2
Type "help", "copyright", "credits" or "license" for more information.

 >>> import os
 >>> AbWd = os.spawnlp( os.P_WAIT,"abiword","abiword","")

The P_WAIT stops python until the program (abiword in this case) 
completes.  The "" at the end are for tokens to be given to the program 
and yes - contrary to manual, the program MUST be there TWICE (complete 
with any path needed).

for windows this works:
(can't cut and paste from a dos box!###%*&!!!)

Python 2.5.1 ... on win32
 >>> import os
 >>> result = os.spawnl( os.P_WAIT, "d:\\winmcad\\mcad","")

Runs the program mcad. Returns to python when mcad exits.


Today: 20090506
Python ver as snippets show.
OS is Linux Slackware 10.2
OS is Windows XP Pro

Steve



More information about the Python-list mailing list