HCMR
@HCMR (TTNB MYUR)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

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

1Answer

ライブラリは無く,PythonからCLIを叩くことになると存じております.
ChatGPTも同様の回答を叩き出しました.

2Like

Comments

  1. @HCMR

    Questioner

    早々のご対応ありがとうございます。
    ライブラリがないんですね!だから見つからなかったのか、、、、

    ChatGPTすごいですね!
    これでやってみます!

Your answer might help someone💌