I have problem with Popen.communicate().
I have script which return string.
Then I have wrote second script which takes that variable.
v = "./myscript arg1 arg2" com = subprocess.Popen(v, shell=True).communicate() print com
com returns (None, None). The point is that I can print inside first script the results,
shell print result as well. I can’t just assign that print to variable.
Of course first script returns value, not print it.
From the docs:
Note that if you want to send data to the process’s stdin, you need to create the
stdin=PIPE. Similarly, to get anything other than
Nonein the result tuple, you need to give
Hence, create the
Popen object with:
subprocess.Popen("./myscript arg1 arg2", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)