|
|
|
|
|
by IamBren
4867 days ago
|
|
I generally agree with your response. My only slight irritation is with how you wrote out the Python code. It looks a bit...uglier? and more verbose than it needs to be, especially compared to the others. This looks better to me: from commands import getoutput
if getoutput('which bash') == '/bin/bash':
do_stuff()
Although if your goal is to determine if e.g. bash is located in /bin, then I would do:bash: if [ -e '/bin/bash' ];
then
do_stuff
fi
(I don't know Ruby.)Python: import os.path
if os.path.exists('/bin/bash'):
do_stuff()
I know I'm just splitting hairs. :) |
|
* Ruby has bashisms like `foo`; Python requires a function call.
* Ruby has a nesting syntax similar to bash with if/end; Python is whitespace-sensitive.
* Ruby has method calls without parentheses, similar to bash commands, whereas Python requires them.
> Although if your goal is to determine if e.g. bash is located in /bin,
Actually, that was not the goal at all. The goal (which, again, is irrelevant to my point) was to determine if the PATH-resolved executable binary "foo" was in a specific location. Rest assured that I would not use "which" in a real-life app. :-)
(Thanks for commands.getoutput(), my Python is rusty.)