On 07/17/2013 09:50 PM, Chris Angelico wrote:
On Thu, Jul 18, 2013 at 11:44 AM, <bbech...@gmail.com> wrote:
Hi everyone. I am starting to learn python and I decided to start with what I
though was a simple script but I guess now. All I want to do is return what
current network location I am using on my mac. Every time I run it, it gives me
back a 0. I don't know what I am doing wrong so here is my code. I really hope
some one can help me. This script is unique to MACS btw.
import sys
import subprocess
loc = "scselect"
srn = "scselect SRN"
home = "scselect HOME"
a = subprocess.call(loc, shell=True, stdout=subprocess.PIPE)
b = subprocess.call(srn, shell=True, stdout=subprocess.PIPE)
c = subprocess.call(home, shell=True, stdout=subprocess.PIPE)
print "\n##### NETWORK SELECTION #####"
print "\nYour current location is set to \n%s" (a)
Your last line here looks wrong. Is this really the code you're using?
This code will crash with a TypeError, because you're trying to call a
string.
Copy and paste your actual code, don't re-type it :)
In addition to reposting using copy/paste, please specify the Python
version. There were differences between 2.6 and 2.7.
Short answer is that subprocess.call() returns an integral returncode.
So zero tells you that shelling to the subprocess succeeded.
Perhaps you'd like to use subprocess.check_output() instead of
subprocess.call().
--
DaveA
--
http://mail.python.org/mailman/listinfo/python-list