【Python】Windows跟随程序启动和关闭系统代理_python 关闭代理

模块作用
winproxy通过Python模块函数和命令行编程来实现修改系统代理
atexit程序在退出时的处理器

atexit官方文档:https://docs.python.org/zh-cn/3/library/atexit.html

winproxy 在前面的文章中有做介绍,这里不着重介绍它;
这里主要介绍的是 Python 内置的atexit 模块。


atexit 应用场景

ps:应用场景是网上搬过来的,具体的应用应该根据日常开发中的需要来决定。

在 Python 编程中,我们通常需要确保程序在退出时能够执行一些必要的清理操作,以释放资源或完成其他任务。这就是 atexit 模块发挥作用的地方。以下是 atexit 模块的一些常见应用场景:

  • 资源释放:在程序中打开文件、网络连接或数据库连接等资源时,使用 atexit 来注册清理函数,以确保在程序退出时关闭这些资源,防止资源泄漏。
  • 日志记录:如果程序需要进行详细的日志记录,可以使用 atexit 来注册一个清理函数,以在程序退出时保存或上传日志文件。
  • 临时文件清理:如果程序生成了临时文件,可以使用 atexit 来注册一个清理函数,以在程序退出时删除这些临时文件,以释放磁盘空间。
  • 状态保存:有时需要在程序退出时保存一些状态信息,以便下次程序运行时可以恢复。atexit 可以用于执行状态保存的操作。
  • 子进程或线程管理:如果程序创建了子进程或线程,可以使用 atexit 来注册清理函数,以确保在程序退出时正确终止这些子进程或线程。
  • 网络连接管理:对于涉及网络通信的程序,使用 atexit 来注册清理函数,以在程序退出时关闭网络连接,释放网络资源。

使用

基础使用

在Python中,可以使用atexit模块来注册在程序退出后执行的操作。通过使用atexit模块,可以确保在程序退出时执行特定的操作,以释放资源或完成其他必要的清理工作。

代码释义:
代码定义了一个名为cleanup的清理函数,然后使用atexit.register()方法来注册它。当程序退出时,无论是正常退出还是由于异常退出,都会执行cleanup函数中定义的清理任务。

import atexit

def cleanup():
    print("Performing cleanup tasks...")

# 注册清理函数
atexit.register(cleanup)

# 主程序
print("Main program")


程序运行结果如下图所示:
在这里插入图片描述

Python 编程与系统代理配置

在了解atexit的基础使用后,现在来结合winproxy使用。

在这个示例中,使用 winproxy 库来操作 Windows 系统的代理设置。首先定义了 set_proxy 函数,用于设置系统代理。然后,使用 atexit 模块来注册 close_proxy 函数,以确保在程序退出时关闭代理。

部分代码参考我之前分享的一篇文章:【Python】通过 Python 设置电脑代理端口

import atexit
from winproxy import ProxySetting


ps = ProxySetting()


def set\_proxy():
    """设置系统代理"""
    ps.enable = True
    ps.server = '127.0.0.1:9527'
    ps.registry_write()


现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。



分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

![](https://img-blog.csdnimg.cn/img_convert/21b2604bd33c4b6713f686ddd3fe5aff.png)



**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值