pythonでインターネット接続の切り替え方法
解決したいこと
mac OS (Ventura)にて、pythonでインターネット接続の切り替えソフトを作成したいと考えています。
Wifi接続とEthernetの切り替えです。
これはどのライブラリでどこを調整すれば良いのでしょうか。
まるまる答えをお聞きするのは流石にアレなので、どのライブラリを使えばいいかをお聞きしたく思います。
よろしくお願いいたします。
解決しました
import subprocess
from SystemConfiguration import SCNetworkInterfaceCopyAll
from CoreWLAN import CWInterface
import time
def disable_wifi():
wifi_interface = CWInterface.interface()
if wifi_interface:
wifi_interface.setPower_error_(False, None)
wifi_interface.setPower_error_(True, None)
time.sleep(2)
def enable_wifi(ssid, password):
wifi_interface = CWInterface.interface()
if wifi_interface:
wifi_interface.setPower_error_(True, None)
time.sleep(2)
# Wi-Fiネットワークに接続を試みます。
subprocess.run(['networksetup', '-setairportnetwork', 'en1', ssid, password])
def disable_ethernet():
subprocess.call(["networksetup", "-setnetworkserviceenabled", "Ethernet", "off"])
def enable_ethernet():
subprocess.call(["networksetup", "-setnetworkserviceenabled", "Ethernet", "on"])
def switch_to_wifi(ssid, password):
print("ネットワーク切り替え中")
enable_wifi(ssid, password)
disable_ethernet()
print("Wi-Fiに接続しました。")
def switch_to_ethernet():
print("ネットワーク切り替え中")
enable_ethernet()
disable_wifi()
print("イーサネットに接続しました。")
# 接続したいWi-Fiの情報
wifi_ssid = '*****'
wifi_password = '*****'
switch_to_wifi(wifi_ssid, wifi_password)
switch_to_ethernet()
0