#python
Вопрос:
данные, очищенные с помощью bs4 (тоже нужно избавиться от пробелов)
{ MaxRange = 1.2, WeaponSprite = FireAxe, MinAngle = 0.72, Type = Weapon, MinimumSwingTime = 3.0, KnockBackOnNoDeath = TRUE, SwingAmountBeforeImpact = 0.002, Categories = Axe, ConditionLowerChanceOneIn = 22, Weight = 3, }
main.py
def get_info(html, obj_len): soup = BeautifulSoup(html, 'html.parser') stats = soup.find('pre') return stats.get_text(strip=True)[5 obj_len:] URL = 'https://pzwiki.net/wiki/' obj = 'Axe' run = True if run: req = requests.get(URL obj) data = get_info(req.text, len(obj))
что я хочу сделать
parsed_result = { 'MaxRange': 1.2, 'WeaponSprite': 'FireAxe', 'MinAngle': 0.72, 'Type': 'Weapon', 'MinimumSwingTime': 3.0, 'KnockBackOnNoDeath': 'TRUE', 'SwingAmountBeforeImpact': 0.002, 'Categories': 'Axe', 'ConditionLowerChanceOneIn': 22, 'Weight': 3, }
В принципе, я хочу преобразовать эти данные, похожие на словарь, в настоящий словарь, но не знаю, как эффективно заменить » = «на»: «и избавиться от пробелов, любая помощь приветствуется!
Ответ №1:
Использовать builtin
модуль configparse
import configparser target = """{ MaxRange = 1.2, WeaponSprite = FireAxe, MinAngle = 0.72, Type = Weapon, MinimumSwingTime = 3.0, KnockBackOnNoDeath = TRUE, SwingAmountBeforeImpact = 0.002, Categories = Axe, ConditionLowerChanceOneIn = 22, Weight = 3 }""" # parse target by removing '{' amp; '}' and adding help `section` "[root]" parsed = configparser.ConfigParser() # you may need to change the corresponding method parsed.read_string('[root]n' target.replace('{','').replace('}','')) parsed_result = { **parsed['root'] } ## additional codes for taking care of numbers.. #blabla