[Python-3000] os.popen versus subprocess.Popen
Facundo Batista
facundobatista at gmail.com
Tue Apr 22 21:52:42 CEST 2008
2008/4/22, Andrew McNabb <amcnabb at mcnabbs.org>:
> Here's a really simple example:
>
> ("bash", "-c", 'FILE="/tmp/a b c"; cat "$FILE"')
>
> That's pretty simple as a list of arguments. But if you do it as a
> single string, you get:
>
> 'bash -c \'FILE="/tmp/a b c"; cat "$FILE"\''
>
> It can get much worse than this, especially if you need to use
> backslashes.
I think that force me to write a tuple or a list just in case I'd need
to write a string that uses simple and double quotes, or backslashes,
because it's "ugly", don't worth it.
What about growing the possibility of write a tuple/list *or* a
string, and if I have a string, just use it? You could say that
writing a plain string I incur in the risk of not enclosing the
parameters correctly at bash level, but note that you're still doing
that quote enclosing even in the tuple/list, and that Python normally
treats the programmer as an adult.
Regards,
--
. Facundo
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
More information about the Python-3000
mailing list