吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 522|回复: 8
收起左侧

[学习记录] python如何重启计算机网络

  [复制链接]
lzmomo 发表于 2024-5-13 16:06
一个简单的重启网络连接的脚本,只会重启包含‘以太网’的网络。
还处于初学阶段,希望大家提些意见。

[Python] 纯文本查看 复制代码
import subprocess
from time import sleep
import psutil

# 获取所有网络接口的信息
network_interfaces = psutil.net_if_addrs()

# 打印每个网络接口的名称
for interface_name, interface_data in network_interfaces.items():
    print(interface_name)

    if '以太网' in interface_name:
        subprocess.run(f'netsh interface set interface "{interface_name}" admin=disable', shell=True)

        subprocess.run(f'netsh interface set interface "{interface_name}" admin=enable', shell=True)

    sleep(5)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

miraak 发表于 2024-5-13 18:39
你其实可以考虑用powershell。
52zct 发表于 2024-5-13 20:10
我最近写了好几个实现类似功能的,但是经常不管用,我写的代码有
[Bash shell] 纯文本查看 复制代码
@echo off
echo 正在禁用无线网卡...
netsh interface set interface name="WLAN" admin=disabled

timeout /t 1

echo 正在启用无线网卡...
netsh interface set interface name="WLAN" admin=enabled

echo 操作已完成。
pause


[Bash shell] 纯文本查看 复制代码
@echo off
rem 使用PowerShell执行netsh命令以禁用WLAN接口
powershell -Command "netsh interface set interface name='WLAN' admin=disabled"
rem 延迟一段时间(可选,用于确保更改生效)
ping 127.0.0.1 -n 2 > nul
rem 使用PowerShell执行netsh命令以启用WLAN接口
powershell -Command "netsh interface set interface name='WLAN' admin=enabled"

echo WLAN接口已通过PowerShell命令成功进行禁用与启用操作。
pause


[PowerShell] 纯文本查看 复制代码
powershell -Command "netsh interface set interface name='WLAN' admin=disabled"
powershell -Command "netsh interface set interface name='WLAN' admin=enabled"



这些代码,都是时灵时不灵


后来我直接把它创建了桌面快捷键

kings0b 发表于 2024-5-14 08:49
 楼主| lzmomo 发表于 2024-5-14 09:18
本帖最后由 lzmomo 于 2024-5-14 09:19 编辑
52zct 发表于 2024-5-13 20:10
我最近写了好几个实现类似功能的,但是经常不管用,我写的代码有
[mw_shl_code=bash,true]@echo off
echo ...

要不你都用管理员权限运行试试?
直接用bat脚本更简单呢

@echo off
echo "重启网络"
netsh interface set interface "以太网" disabled
netsh interface set interface "以太网" enabled
52zct 发表于 2024-5-14 13:57
lzmomo 发表于 2024-5-14 09:18
要不你都用管理员权限运行试试?
直接用bat脚本更简单呢

我是使用管理员运行的,但是时行时不行,很奇怪,很可能是被360拦截了
 楼主| lzmomo 发表于 2024-5-14 19:29
52zct 发表于 2024-5-14 13:57
我是使用管理员运行的,但是时行时不行,很奇怪,很可能是被360拦截了

完全可能
halolo 发表于 2024-5-14 23:10
你这样其实还是调了OS自己的指令去重启的网络,建议你考虑下怎么使用Python的api来实现同样的功能。
 楼主| lzmomo 发表于 2024-5-15 16:48
halolo 发表于 2024-5-14 23:10
你这样其实还是调了OS自己的指令去重启的网络,建议你考虑下怎么使用Python的api来实现同样的功能。

不太懂,可以举例吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-12 07:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表