[Pythonmac-SIG] Escaping commandline strings
Ned Deily
nad at acm.org
Tue Jan 4 22:56:17 CET 2011
In article
<AANLkTik8E7h8-tQW2=F5F30uKe_D99YYtu=0DvYLKzCO at mail.gmail.com>,
Chris Weisiger <cweisiger at msg.ucsf.edu> wrote:
> I want to sanitize some strings (e.g. escape apostrophes, spaces, etc.)
> before passing them to the commandline via subprocess. Unfortunately I can't
> seem to find any built-in function to do this. Am I really going to have to
> write up my own sanitizer? Not that it'd be much effort, but I'd much rather
> use an official function than risk forgetting something.
The subprocess doc show how to use shlex to parse a shell-like command
string. I'm not sure I understand your use case but is there a reason
you can't use 'shell=False' and set up the arguments yourself, thus
avoiding the need for escapes? Even if you really need to have a shell
execute the string, you should be able to set up the arguments and call
the shell directly.
http://docs.python.org/library/subprocess.html
--
Ned Deily,
nad at acm.org
More information about the Pythonmac-SIG
mailing list