Skip Montanaro wrote: > I am trying to replace os.system calls with subprocess.Popen. This simple > example fails miserably: > >>>> proc = subprocess.Popen ("ls /tmp")
Popen expects a list of program arguments. When passed a single string instead of a list, as in your example, it assumes that the string is the command, and looks for an executable named "ls /tmp", which of course does not exist. Split your command into a list of separate parameters, with the executable as the first parameter, and it will work: >>> subprocess.Popen(['ls', '/tmp']) <subprocess.Popen object at 0xb7c569ec> >>> (ls output here) Jeffrey -- http://mail.python.org/mailman/listinfo/python-list