returndict=dict()
iteminstrlist=strrecipe.split(' },\n {\n')
for iteminstr in iteminstrlist:
iteminstr=iteminstr.replace(' enabled = false,\n','')
iteminstr=iteminstr.replace(' type = "recipe",\n','')
name=re.search('name = \".*\"',iteminstr).group()
name=name.replace('name = "','').replace('"','')
iteminstr=iteminstr.replace('\n','').replace(' ','')
ingredients=re.search('ingredients=.*?\}\},',iteminstr)
ingredients=ingredients.group().replace('ingredients=','')
ingredients=ingredients.replace('type=\"fluid\",name=','')
ingredients = ingredients.replace('type=\"item\",name=', '')
ingredients=ingredients.replace('amount=','')
ingredients=ingredients.replace('",','\':')
ingredients=ingredients.replace('\"','\'')
ingredients=ingredients.replace('{{','#')
ingredients=ingredients.replace('}},','%')
ingredients=ingredients.replace('}','').replace('{','')
ingredients=ingredients.replace('#','{').replace('%','}')
ingredients=literal_eval(ingredients)
returndict[name]={}
returndict[name]['name']=name
returndict[name]['ingredients']=ingredients
return returndict
구와아악
{
"speed-module": {
"name": "speed-module",
"ingredients": {
"advanced-circuit": 5,
"electronic-circuit": 5
}
},
"speed-module-2": {
"name": "speed-module-2",
"ingredients": {
"speed-module": 4,
"advanced-circuit": 5,
"processing-unit": 5
}
},
"speed-module-3": {
"name": "speed-module-3",
"ingredients": {
"speed-module-2": 5,
"advanced-circuit": 5,
"processing-unit": 5
}
},
"productivity-module": {
"name": "productivity-module",
"ingredients": {
"advanced-circuit": 5,
"electronic-circuit": 5
}
},
"productivity-module-2": {
"name": "productivity-module-2",
"ingredients": {
"productivity-module": 4,
"advanced-circuit": 5,
"processing-unit": 5
}
},
"productivity-module-3": {
"name": "productivity-module-3",
"ingredients": {
"productivity-module-2": 5,
"advanced-circuit": 5,
"processing-unit": 5
}
},
"effectivity-module": {
"name": "effectivity-module",
"ingredients": {
"advanced-circuit": 5,
"electronic-circuit": 5
}
},
"effectivity-module-2": {
"name": "effectivity-module-2",
"ingredients": {
"effectivity-module": 4,
"advanced-circuit": 5,
"processing-unit": 5
}
},
"effectivity-module-3": {
"name": "effectivity-module-3",
"ingredients": {
"effectivity-module-2": 5,
"advanced-circuit": 5,
"processing-unit": 5
}
},
"stack-inserter": {
"name": "stack-inserter",
"ingredients": {
"iron-gear-wheel": 15,
"electronic-circuit": 15,
"advanced-circuit": 1,
"fast-inserter": 1
}
},
"stack-filter-inserter": {
"name": "stack-filter-inserter",
"ingredients": {
"stack-inserter": 1,
"electronic-circuit": 5
}
},
"basic-oil-processing": {
"name": "basic-oil-processing",
"ingredients": {
"crude-oil": 100
}
},
"night-vision-equipment": {
"name": "night-vision-equipment",
"ingredients": {
"advanced-circuit": 5,
"steel-plate": 10
}
},
"belt-immunity-equipment": {
"name": "belt-immunity-equipment",
"ingredients": {
"advanced-circuit": 5,
"steel-plate": 10
}
},
"energy-shield-equipment": {
"name": "energy-shield-equipment",
"ingredients": {
"advanced-circuit": 5,
"steel-plate": 10
}
},
"energy-shield-mk2-equipment": {
"name": "energy-shield-mk2-equipment",
"ingredients": {
"energy-shield-equipment": 10,
"processing-unit": 5,
"low-density-structure": 5
}
},
"battery-equipment": {
"name": "battery-equipment",
"ingredients": {
"battery": 5,
"steel-plate": 10
}
},
"battery-mk2-equipment": {
"name": "battery-mk2-equipment",
"ingredients": {
"battery-equipment": 10,
"processing-unit": 15,
"low-density-structure": 5
}
},
"solar-panel-equipment": {
"name": "solar-panel-equipment",
"ingredients": {
"solar-panel": 1,
"advanced-circuit": 2,
"steel-plate": 5
}
},
"fusion-reactor-equipment": {
"name": "fusion-reactor-equipment",
"ingredients": {
"processing-unit": 200,
"low-density-structure": 50
}
},
"personal-laser-defense-equipment": {
"name": "personal-laser-defense-equipment",
"ingredients": {
"processing-unit": 20,
"low-density-structure": 5,
"laser-turret": 5
}
},
"discharge-defense-equipment": {
"name": "discharge-defense-equipment",
"ingredients": {
"processing-unit": 5,
"steel-plate": 20,
"laser-turret": 10
}
},
"discharge-defense-remote": {
"name": "discharge-defense-remote",
"ingredients": {
"electronic-circuit": 1
}
},
"exoskeleton-equipment": {
"name": "exoskeleton-equipment",
"ingredients": {
"processing-unit": 10,
"electric-engine-unit": 30,
"steel-plate": 20
}
},
"personal-roboport-equipment": {
"name": "personal-roboport-equipment",
"ingredients": {
"advanced-circuit": 10,
"iron-gear-wheel": 40,
"steel-plate": 20,
"battery": 45
}
},
"personal-roboport-mk2-equipment": {
"name": "personal-roboport-mk2-equipment",
"ingredients": {
"personal-roboport-equipment": 5,
"processing-unit": 100,
"low-density-structure": 20
}
},
"laser-turret": {
"name": "laser-turret",
"ingredients": {
"steel-plate": 20,
"electronic-circuit": 20,
"battery": 12
}
},
"flamethrower-turret": {
"name": "flamethrower-turret",
"ingredients": {
"steel-plate": 30,
"iron-gear-wheel": 15,
"pipe": 10,
"engine-unit": 5
}
},
"artillery-turret": {
"name": "artillery-turret",
"ingredients": {
"steel-plate": 60,
"concrete": 60,
"iron-gear-wheel": 40,
"advanced-circuit": 20
}
},
"artillery-targeting-remote": {
"name": "artillery-targeting-remote",
"ingredients": {
"processing-unit": 1,
"radar": 1
}
},
"gun-turret": {
"name": "gun-turret",
"ingredients": {
"iron-gear-wheel": 10,
"copper-plate": 10,
"iron-plate": 20
}
},
"wooden-chest": {
"name": "wooden-chest",
"ingredients": {
"wood": 2
}
},
"iron-stick": {
"name": "iron-stick",
"ingredients": {
"iron-plate": 1
}
},
"stone-furnace": {
"name": "stone-furnace",
"ingredients": {
"stone": 5
}
},
"boiler": {
"name": "boiler",
"ingredients": {
"stone-furnace": 1,
"pipe": 4
}
},
"steam-engine": {
"name": "steam-engine",
"ingredients": {
"iron-gear-wheel": 8,
"pipe": 5,
"iron-plate": 10
}
},
"iron-gear-wheel": {
"name": "iron-gear-wheel",
"ingredients": {
"iron-plate": 2
}
},
"electronic-circuit": {
"name": "electronic-circuit",
"ingredients": {
"iron-plate": 1,
"copper-cable": 3
}
},
"transport-belt": {
"name": "transport-belt",
"ingredients": {
"iron-plate": 1,
"iron-gear-wheel": 1
}
},
"electric-mining-drill": {
"name": "electric-mining-drill",
"ingredients": {
"electronic-circuit": 3,
"iron-gear-wheel": 5,
"iron-plate": 10
}
},
"burner-mining-drill": {
"name": "burner-mining-drill",
"ingredients": {
"iron-gear-wheel": 3,
"stone-furnace": 1,
"iron-plate": 3
}
},
"inserter": {
"name": "inserter",
"ingredients": {
"electronic-circuit": 1,
"iron-gear-wheel": 1,
"iron-plate": 1
}
},
"fast-inserter": {
"name": "fast-inserter",
"ingredients": {
"electronic-circuit": 2,
"iron-plate": 2,
"inserter": 1
}
},
"filter-inserter": {
"name": "filter-inserter",
"ingredients": {
"fast-inserter": 1,
"electronic-circuit": 4
}
},
"long-handed-inserter": {
"name": "long-handed-inserter",
"ingredients": {
"iron-gear-wheel": 1,
"iron-plate": 1,
"inserter": 1
}
},
"burner-inserter": {
"name": "burner-inserter",
"ingredients": {
"iron-plate": 1,
"iron-gear-wheel": 1
}
},
"pipe": {
"name": "pipe",
"ingredients": {
"iron-plate": 1
}
},
"offshore-pump": {
"name": "offshore-pump",
"ingredients": {
"electronic-circuit": 2,
"pipe": 1,
"iron-gear-wheel": 1
}
},
"copper-cable": {
"name": "copper-cable",
"ingredients": {
"copper-plate": 1
}
},
"small-electric-pole": {
"name": "small-electric-pole",
"ingredients": {
"wood": 1,
"copper-cable": 2
}
},
"pistol": {
"name": "pistol",
"ingredients": {
"copper-plate": 5,
"iron-plate": 5
}
},
"submachine-gun": {
"name": "submachine-gun",
"ingredients": {
"iron-gear-wheel": 10,
"copper-plate": 5,
"iron-plate": 10
}
},
"firearm-magazine": {
"name": "firearm-magazine",
"ingredients": {
"iron-plate": 4
}
},
"light-armor": {
"name": "light-armor",
"ingredients": {
"iron-plate": 40
}
},
"radar": {
"name": "radar",
"ingredients": {
"electronic-circuit": 5,
"iron-gear-wheel": 5,
"iron-plate": 10
}
},
"small-lamp": {
"name": "small-lamp",
"ingredients": {
"electronic-circuit": 1,
"copper-cable": 3,
"iron-plate": 1
}
},
"pipe-to-ground": {
"name": "pipe-to-ground",
"ingredients": {
"pipe": 10,
"iron-plate": 5
}
},
"assembling-machine-1": {
"name": "assembling-machine-1",
"ingredients": {
"electronic-circuit": 3,
"iron-gear-wheel": 5,
"iron-plate": 9
}
},
"repair-pack": {
"name": "repair-pack",
"ingredients": {
"electronic-circuit": 2,
"iron-gear-wheel": 2
}
},
"automation-science-pack": {
"name": "automation-science-pack",
"ingredients": {
"copper-plate": 1,
"iron-gear-wheel": 1
}
},
"logistic-science-pack": {
"name": "logistic-science-pack",
"ingredients": {
"inserter": 1,
"transport-belt": 1
}
},
"lab": {
"name": "lab",
"ingredients": {
"electronic-circuit": 10,
"iron-gear-wheel": 10,
"transport-belt": 4
}
},
"stone-wall": {
"name": "stone-wall",
"ingredients": {
"stone-brick": 5
}
},
"assembling-machine-2": {
"name": "assembling-machine-2",
"ingredients": {
"steel-plate": 2,
"electronic-circuit": 3,
"iron-gear-wheel": 5,
"assembling-machine-1": 1
}
},
"splitter": {
"name": "splitter",
"ingredients": {
"electronic-circuit": 5,
"iron-plate": 5,
"transport-belt": 4
}
},
"underground-belt": {
"name": "underground-belt",
"ingredients": {
"iron-plate": 10,
"transport-belt": 5
}
},
"loader": {
"name": "loader",
"ingredients": {
"inserter": 5,
"electronic-circuit": 5,
"iron-gear-wheel": 5,
"iron-plate": 5,
"transport-belt": 5
}
},
"car": {
"name": "car",
"ingredients": {
"engine-unit": 8,
"iron-plate": 20,
"steel-plate": 5
}
},
"engine-unit": {
"name": "engine-unit",
"ingredients": {
"steel-plate": 1,
"iron-gear-wheel": 1,
"pipe": 2
}
},
"iron-chest": {
"name": "iron-chest",
"ingredients": {
"iron-plate": 8
}
},
"big-electric-pole": {
"name": "big-electric-pole",
"ingredients": {
"iron-stick": 8,
"steel-plate": 5,
"copper-plate": 5
}
},
"medium-electric-pole": {
"name": "medium-electric-pole",
"ingredients": {
"iron-stick": 4,
"steel-plate": 2,
"copper-plate": 2
}
},
"shotgun": {
"name": "shotgun",
"ingredients": {
"iron-plate": 15,
"iron-gear-wheel": 5,
"copper-plate": 10,
"wood": 5
}
},
"shotgun-shell": {
"name": "shotgun-shell",
"ingredients": {
"copper-plate": 2,
"iron-plate": 2
}
},
"piercing-rounds-magazine": {
"name": "piercing-rounds-magazine",
"ingredients": {
"firearm-magazine": 1,
"steel-plate": 1,
"copper-plate": 5
}
},
"grenade": {
"name": "grenade",
"ingredients": {
"iron-plate": 5,
"coal": 10
}
},
"steel-furnace": {
"name": "steel-furnace",
"ingredients": {
"steel-plate": 6,
"stone-brick": 10
}
},
"gate": {
"name": "gate",
"ingredients": {
"stone-wall": 1,
"steel-plate": 2,
"electronic-circuit": 2
}
},
"heavy-armor": {
"name": "heavy-armor",
"ingredients": {
"copper-plate": 100,
"steel-plate": 50
}
},
"steel-chest": {
"name": "steel-chest",
"ingredients": {
"steel-plate": 8
}
},
"fast-underground-belt": {
"name": "fast-underground-belt",
"ingredients": {
"iron-gear-wheel": 40,
"underground-belt": 2
}
},
"fast-splitter": {
"name": "fast-splitter",
"ingredients": {
"splitter": 1,
"iron-gear-wheel": 10,
"electronic-circuit": 10
}
},
아래는 보기 좋게 json으로 뽑은 파이썬 딕셔너리
아직 미완성이라 이름하고 재료밖에 없음.
글 길이 제한 걸려서 좀 잘랐음
recipe.lua -> json -> 파이썬 딕셔너리 하면 되는걸 뻘짓함ㅋㅋ 아 ㅋㅋ 글 쓰고 깨달음
프로그래밍의 숙명임
이게 뭐노 ㄷㄷ
굿~~ 근데 time은 왜 안뽑은거암?
그냥 미완성임