> #!/usr/bin/env python > import subprocess > import sys > > dom = sys.argv[1] > switch = sys.argv [2] > answer = subprocess.call("whois " + dom, shell=True) > > Execute the above (whatever.py -example.com -a1) prints the entire WHOIS > output, but I just want it saved to the variable 'answer', nothing more.
create a subprocess.Popen object instead, and use communicate(). Use subprocess.PIPE for the stdout and stderr arguments (and use a list for the executable + arguments: ["whois", dom], leaving out the shell argument). Read the library docs: see example 17.1.3.2. > Changing 'shell=True' to 'shell=False' raises an exception and removing > the 'shell=' altogether is troublesome as well. shell=False is the default _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor