feat(!cfg): 使用eval()函数进行类型转换

This commit is contained in:
Rock Chin
2023-05-21 15:53:56 +08:00
parent 92274bfc34
commit cdcc67ff23
+14 -13
View File
@@ -48,19 +48,20 @@ def config_operation(cmd, params):
else: else:
cfg_value = " ".join(params[1:]) cfg_value = " ".join(params[1:])
# 类型转换,如果是json则转换为字典 # 类型转换,如果是json则转换为字典
if cfg_value == 'true': # if cfg_value == 'true':
cfg_value = True # cfg_value = True
elif cfg_value == 'false': # elif cfg_value == 'false':
cfg_value = False # cfg_value = False
elif cfg_value.isdigit(): # elif cfg_value.isdigit():
cfg_value = int(cfg_value) # cfg_value = int(cfg_value)
elif cfg_value.startswith('{') and cfg_value.endswith('}'): # elif cfg_value.startswith('{') and cfg_value.endswith('}'):
cfg_value = json.loads(cfg_value) # cfg_value = json.loads(cfg_value)
else: # else:
try: # try:
cfg_value = float(cfg_value) # cfg_value = float(cfg_value)
except ValueError: # except ValueError:
pass # pass
cfg_value = eval(cfg_value)
cfg_entry = getattr(config, cfg_entry_path[0]) cfg_entry = getattr(config, cfg_entry_path[0])
if len(cfg_entry_path) > 1: if len(cfg_entry_path) > 1: