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

Reply via email to