MacOS 双网线网络快速切换

2024-06-18 22:18

本文主要是介绍MacOS 双网线网络快速切换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MacOS 双网线网络快速切换

  1. 方法一:直接打开系统网络设置,手动设置即可
    点开齿轮设置
    手动拖拽调整网络服务顺序

  2. 方法二:对于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 双网线网络快速切换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073204

相关文章

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

java实现多数据源切换方式

《java实现多数据源切换方式》本文介绍实现多数据源切换的四步方法:导入依赖、配置文件、启动类注解、使用@DS标记mapper和服务层,通过注解实现数据源动态切换,适用于实际开发中的多数据源场景... 目录一、导入依赖二、配置文件三、在启动类上配置四、在需要切换数据源的类上、方法上使用@DS注解结论一、导入

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt