"Gabriel Genellina" <[EMAIL PROTECTED]> writes: > En Mon, 06 Oct 2008 13:09:26 -0300, Miki <[EMAIL PROTECTED]> escribió:
>> Can anybody explain why Makefile $(PWD) does show the right directory >> when running under subprocess.Popen(..., cwd=...) >> >> For example: >> [18:07] tmp $cat /tmp/p/Makefile >> all: >> @echo $(PWD) >> [18:07] tmp $cat t >> #!/usr/bin/env python >> >> from subprocess import Popen >> Popen(["make"], cwd="/tmp/p") >> >> [18:07] tmp $./t >> /tmp >> >> The output of the "make" command should have been "/tmp/p" and not "/ >> tmp" > I've tried the equivalent version on Windows and it worked fine. > And I can't see how make could find the Makefile at /tmp/p if the current > directory were another one... (?) The problem is, he is not printing the name of the current working directory; he is printing the value of the variable $PWD. That is likely set from the environment by the shell he started the Python program from, but Python does *not* update to reflect changes to the working directory. Use '@pwd' instead of '@echo $(PWD)'. -- Thomas Bellman, Lysator Computer Club, Linköping University, Sweden "Beware of bugs in the above code; I have ! bellman @ lysator.liu.se only proved it correct, not tried it." ! Make Love -- Nicht Wahr!
-- http://mail.python.org/mailman/listinfo/python-list