subprocess module usage
4kir4.1i at gmail.com
Mon Sep 1 21:45:22 CEST 2014
Earl Lapus <earl.lapus at gmail.com> writes:
> I made simple test program using the subprocess module (see attached:
> exec_cmd.py). I ran it passing variations of 'ls' command options.
> I encounter exceptions every time I use '-l' options. Example runs
> where exception occurs:
> # ./exec_cmd.py ls -al
> # ./exec_cmd.py ls -l
> However, if I pass 'ls' and arguments as one argument, like so:
> #./exec_cmd.py 'ls -al'
> exception does not occur.
> I logged output (see ls_test.out).
> So, what could be causing this behavior? Is this expected or is there
> something wrong with how I'm using the subprocess module?
You shouldn't use shell=True with a list argument (sys.argv[1:] is a
list). Specify the command as a string or use shell=False.
More information about the Python-list