Thank you everyone for the help. I have two solutions, but I would love one that uses the subprocess.Popen() - I have no experience with this module.class - if someone with more experience would feel inclined to provide an example, I would be very much appreciative.
SOLUTION 1 (my brute force method) create a csh file which does what I want, ##### filename: hack.csh #!/bin/csh set RUN_DIR = $1 set EXEC_DIR = $2 cd ${RUN_DIR} ${EXEC_DIR}/my.exe ##### then I call this in my python code from some arbitrary directory ##### python script... os.system('./hack.csh /scratch exec_dir') ##### SOLUTION 2 (courtesy of my computer-superhero friend - again simple) in my python script... ##### import os curdir = os.path.abspath('.') # in case I need to get back to where I am - in my case no os.chdir('RUN_DIR') # in my case RUN_DIR = /scratch if I wanted to get back to my old directory - then add os.chdir(curdir) ##### so both of these methods are sort of brute force - being completely unfamiliar with the subprocess module, again is someone would like to provide an example, or at least more hints than 'you should use subprocess.Popen()' I thank you in advance. Cheers, Andre On Oct 4, 2007, at 5:13 PM, Alan Gauld wrote: > "Andre Walker-Loud" <[EMAIL PROTECTED]> wrote > >> If I were using CSH, I could do all this very simply by having these >> lines in my script >> >> ### .csh file >> >> cd /scratch >> my_exe.csh > > The best answer is to use subprocess as Kent suggested > but you can also use os.chdir(path) before using os.system() > But system() is deprecated in favour of the subprocess module. > > Of course you could also modify your script to take a > path as a command line argument and use that to direct > the output explicitly... > > Alan G. > > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor