Mike Meyer a écrit : > Terry Hancock <[EMAIL PROTECTED]> writes: > >>On Tue, 20 Dec 2005 05:35:48 -0000 >>Grant Edwards <[EMAIL PROTECTED]> wrote: >> >>>On 2005-12-20, [EMAIL PROTECTED] <[EMAIL PROTECTED]> >>>wrote: >>> >>>>I have csh script that calls a bunch of python programs >>>>and I'd like to use env variables as kind of a global >>>>variable that I can pass around to the pythong scripts. >>> >>>You can't change the environment of the parent process. >>> >>>IOW, the python programs can't change the environment of >>>the calling csh script (or, by extenstion, the environment >>>of subsequent python programs that are called by the csh >>>script). >> >>There is an evil trick, however: >> >>Instead of setting the environment directly, have the python >>program return csh code to alter the environment the way you >>want, then call the python code by "sourcing" its output: >> >>source `my_script.py` > > > Does this actually work? It looks to me like you need two levels: > my_script.py creates a file, then outputs the name of the file, as the > csh source command reads commands from the file named as an argument.
Should work, even in basic sh. IIRC, source means the shell should execute the data itself. I've always used it with an intermediate file but I wouldn't be surprised if there was a way to make it work with a command output. -- http://mail.python.org/mailman/listinfo/python-list