本文主要是介绍MacOS 双网线网络快速切换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MacOS 双网线网络快速切换
-
方法一:直接打开系统网络设置,手动设置即可
-
方法二:对于Coders来讲,方式一实在太low了,我们来看一下如何使用代码控制网络切换
#!/usr/bin/python
# -*- coding: UTF-8 -*-
## Create by Cyril.
import os
import sys
import commands
import timeglobal homePath
homePath = os.path.abspath("./Desktop/Tools//")
print("HomePath->",homePath)##此函数可自由切换Apple网络和PDCA网络,可重复调用
##/** 切换PDCA网络与APPLE网络, 注意:使用此函数前请确保网络列表中有且仅有两个Ethernet网络 */
def changeIP():global homePathnetKey = "Ethernet"scriptPath = homePath + "/checkNetStatus" net_array=[]net_1=0net_2=0j=0execShellScript("networksetup -listallnetworkservices > %s 2>&1" %(homePath + "/networks.txt"))net_array=readlineFromFile(homePath+ "/networks.txt") ##net_array[0] 为无用字符串net_array[0]="echo helloworld | sudo -S networksetup -ordernetworkservices "index=0for item in net_array:if index == 0:passelif "*" in net_array[index]:net_array[index]=net_array[index][1:]net_array[index]="\"%s\""%(net_array[index])else:net_array[index]="\"%s\""%(net_array[index])if netKey in net_array[index]:if j == 0:net_1=indexelse:net_2=indextmp=net_array[net_1]net_array[net_1]=net_array[net_2]## print("net_array[net_1]",net_array[net_1])net_array[net_2]=tmp## print("net_array[net_2]",net_array[net_2])j+=1##print(net_array[index])index+=1execShellScript(*net_array) ##changeIP##while res==1:##time.sleep(5)return execShellScript(scriptPath) ##checkNetStatus## /**逐行读取txt ,将值赋给列表*/
def readlineFromFile(filePath):with open(filePath, "r") as f:txt=f.read()array=txt.split("\n") ##for item in array:if item == '':array.remove(item) ##删除列表中的空元素return array##/**
## * arg0 : scriptPath // 第一个参数是脚本路径
## * arg1 : ${1} // 第二个参数是脚本参数1 (log存放路径)
## * arg2 : ${2} // 第三个参数是脚本参数2 (sn.txt 路径)
## * arg3 : ${3} // 第四个参数是脚本参数3 (log名称,如:SW-DOWNLOAD.zip)
## * ...
## * argn : ${n}
## */
def execShellScript(scriptPath, *args):index = 0cmd = scriptPath + " "for i in args:cmd += i + " "##print("Exec CMD->",cmd)(status, output) = commands.getstatusoutput(cmd)##print status, output ##输出shell执行返回状态码和输出结果return outputprint(changeIP())
执行结果如图:
这篇关于MacOS 双网线网络快速切换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!