我要做的是从配置文件中读取一个列表:
import re
from configobj import ConfigObj
config = ConfigObj('food.conf')
meal_list = config['MainConfig']['MealList']
配置中的MealList
部分看起来像Turkey|Hamburger|Chicken
等等。
之后我需要通过以下方式运行它们:
for meal in meal_list:
if re.search( config[meal][ingredients]['Allowlist'], badingredients, re.M|re.I):
这是我的第一个问题。我如何正确加入它们?在此for
部分之后,我将它们传递给排名函数。那么如何将“允许的”加入元组呢?
等级也在配置文件中定义。
meal_allowed = ('Hamburger', 2),('Chicken', 3),('Turkey', 4)
food = sorted(meal_allowed, key=lambda student: student[1])
food_to_eat = str(food).translate(None, "-[]()'0123456789").replace(" ", "").replace(",,",",")
print food_to_eat
简而言之,我如何使用.join()然后将其转换为元组?
我正在寻找的另一个例子。
meals = 'hamburger', 'Turkey', 'Chicken'
for meal in meals:
rank = config[meal][rank]
if re.search( config[meal][ingredients]['Allowlist'], badingredients, re.M|re.I):
eatable = meal + meal + rank
可食用应该是('汉堡',2),('鸡',3),('土耳其',4)格式。 否则,我无法对其进行排名。
答案 0 :(得分:0)
这是你想要的吗?
meal_allowed = tuple(('Hamburger', 2), ('Chicken', 3), ('Turkey', 4))
修改强>
对于每个meal
:
meals = ['hamburger', 'Turkey', 'Chicken']
for meal in meals:
rank = config[meal][rank]
您必须在rank
中定义rank = config[meal][rank]
变量。在此之后,您可以构建一个元组列表,例如:
eatable = list()
meals = ['hamburger', 'Turkey', 'Chicken']
for meal in meals:
rank = config[meal][rank]
if re.search( config[meal][ingredients]['Allowlist'], badingredients, re.M|re.I):
eatable.append((meal, rank))
print eatable
无论如何,你不应该说“食用”而不是“食用”吗?或者他们都是对的? ^^