擅长:python、mysql、java
<p>似乎<code>networksetup</code>执行<a href="https://superuser.com/questions/656779/execute-bash-command-if-wireless-network-is-deleted">not behave well</a>,即使出现错误也返回0。这意味着您必须解析程序的输出。你知道吗</p>
<pre><code>import subprocess
import sys
def networksetup(ssid, password):
cmd = 'networksetup -setairportnetwork en0 "{}" {}'.format(ssid, password)
output = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT)
return output
def main():
ssid = input("Please enter the network SSID \n")
password = input("Please enter the network password \n")
print ("Connecting to...")
print ("SSID: " + ssid)
print ("Password: " + password)
output = networksetup(ssid, password)
if 'Error: -3900' in output:
print("Password error: {}".format(output))
sys.exit(1) # remove this if you don't want to exit on error
if __name__ = "__main__":
main()
</code></pre>