Windows下Python执行多进程报错,Linux环境正常运行

错误信息

NameError: name 'check_process' is not defined

代码片段

if __name__ == '__main__':
    check_process = xx_normal_class()
def Update_xx(domain):
    ip = check_process.normal_domain_to_ip(domain)

原逻辑

认为if __name__ == '__main__':内的变量为全局变量,在服务器上执行也正常执行

错误原因

问题出在Windows 上多进程的实现
在 Windows 上,多进程实现子进程的时会自动 import 启动它的文件

if name == 'main:内容执行条件: 该文件作为脚本直接执行

import 到其他的 python 脚本中被调用(模块重用)时不会执行,因此子进程的全局变量中不存在check_process)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值