a文件传入代理ip相关参数给b文件
c文件接受代理IP,使用代理IP和切换代理IP,且不必再通过c文件传入配置参数。
使用partial函数+全局代理ip方式实现。根据自己的代码需求修改为自己需要的形式即可。代码只是展示简单的实现原理
a.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import b
import c
config = {
"type":None
}
b.func_userA.keywords['config'] = config
b.proxy(config,switch=True)
#b.fun_A.keywords['switch']=True
#b.fun_A.__call__()
print("a文件里的{}".format(b.proxy_ip))
print(c.run())
b.py处理代理ip相关功能
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import random
from functools import partial
proxy_ip =''
def proxy(config, switch=False):
# config设置代理IP配置,通过控制中心传入
# switch,设置是否更新代理ip,如果代理ip获取错误就更新一次
#print(f"当前配置为:{config}")
global proxy_ip
if switch:
#模拟更换代理IP
#print("模拟更换ip")
proxy_ip ='127.0.01.{}'.format(random.randint(1,255))
func_userA = partial(proxy, config=dict, )
c.py代理ip的使用和切换,用于curl.py文件
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import b
def run():
print("b-proxy-ip-1:{}".format(b.proxy_ip))
for i in range(10):
print("{}b-proxy-ip-2:{}".format(i,b.proxy_ip))
if i%2==0:
b.func_userA(switch=True)