Simple question for all of you python gurus
Cameron Laird
claird at lairds.com
Fri Feb 27 08:01:06 EST 2004
In article <pan.2004.02.27.10.23.57.126600 at jeremysanders.net>,
Jeremy Sanders <jeremy+plusnews at jeremysanders.net> wrote:
>On Thu, 26 Feb 2004 23:14:33 +0000, Cameron Laird wrote:
>
>> os.chdir("/home/%s/.tmda/pending" % userid)
>> li = os.popen(...
>
>Wouldn't something like this also work?
>
>li = os.popen('/bin/sh -c "cd /home/%s; /usr/bin/grep -i %s blah"')
>
>This has the advantage that the current directory of the Python program
>doesn't change.
.
.
.
Yes.
I want to make it explicit: yes, "/bin/sh -c ..." *does* work,
it's a good technique to keep in mind, and it does have the
advantage you describe (assuming proper resolution of the %s-s
above).
Even for Python, there frequently are multiple solutions. I
speculated that the original poster would feel most comfortable
with os.chdir(), and choose not to mention other possibilities.
As valuable as "/bin/sh -c ..." is, some people avoid it for
its Unix-specificity, or even its multiplication of process
count.
--
Cameron Laird <claird at phaseit.net>
Business: http://www.Phaseit.net
More information about the Python-list
mailing list