I'm using Python 2.6. After checking the following link: Running shell command from Python and capturing the output Here is the code I plan to do:
import subprocess
# input: user email account
# output: mailing list which contain the user as an owner
def list_owners (usr_eml):
p = subprocess.Popen(['/usr/lib/mailman/bin/find_member','-w'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
stdin=subprocess.PIPE)
out, err = p.communicate(usr_eml)
print out
m_list_usr_on = out.split( )
print m_list_usr_on
list_owners("my_email")
The output of this code is simply empty. On the other hand, if I run the code
/usr/lib/mailman/bin/find_member -w my_email
directly from the shell command, I got the desired results.
Could you explain to me the possible reasons of it?
Thank you!