AutoFramework/main.py

68 lines
1.7 KiB
Python

import re
string = 'Host: ${username}\nX-Online-Host: ${Ua}\n'
vars_dict = {
"username": 'www.baidu.com:80'
}
# print(re.findall('\${(.*?)}', string))
def _sub_variable(text=None, vars_dict=None):
if not isinstance(text, str):
return text
for variable_name in re.findall('\${(.*?)}', text):
try:
value = vars_dict[variable_name]
except:
value = ''
text = text.replace('${%s}' % variable_name, str(value))
return text
def _sub_variable_auto(data=None, vars_dict=None):
if isinstance(data, list):
for i in range(len(data)):
if not isinstance(data[i], str):
continue
data[i] = _sub_variable(text=data[i], vars_dict=vars_dict)
return data
if isinstance(data, dict):
for k in data.keys():
if not isinstance(data[k], str):
continue
data[k] = _sub_variable(text=data[k], vars_dict=vars_dict)
return data
if isinstance(data, str): return _sub_variable(data, vars_dict=vars_dict)
return data
# print(_sub_variable(text=string, vars_dict=vars_dict))
print(_sub_variable_auto(data=["Host: ${username}\n", "X-Host: ${username}\n"], vars_dict=vars_dict))
print(_sub_variable_auto(data={
"X-Online-Host": '${username}:443',
"Host": '${username}${username}',
2: 163,
3: None
}, vars_dict=vars_dict))
print(_sub_variable_auto(data='H=${username}', vars_dict=vars_dict))
print(_sub_variable_auto(data=False, vars_dict=vars_dict))
# a = '123'
# def aa(text=''):
# text = text.replace('1','一')
# return text
#
# print(aa(a))
# print(a)
r = {"r": 1}
s = {"r": 2}
d = {}
d.update(r)
d.update(s)
print(d)