我在配置(ini)文件中有这个:
result = "name\tage\tdob"
这就是我想要的最终输出(作为列表) - 将其写入输出文件,其中实际值将被写为一行:
[str(row["name"]).strip(), str(row["age"]).strip(), str(row["dob"]).strip()]
我的python从配置文件中读取'result'作为字符串,我做了一些manupulation来得到接近我需要的东西。那之后我被困住了。这就是我所做的:
list1 = result.decode('string_escape').split()
list2 = map(lambda x: x.replace('\"', ''), list1)
list3 = map(lambda x: 'str(row[' + '"' + x + '"' + ']).strip()', list2);
print list3
它将list3打印为:
['str(row["name"]).strip()', 'str(row["age"]).strip()', 'str(row["dob"]).strip()']
现在,如果你注意到,list3的元素是字符串......我不想要。我如何确保列表中的元素只是python表达式......?我试图做替换(“'”,“”),但它没有帮助。
非常感谢任何建议。
答案 0 :(得分:2)
请改为:
list3 = map(lambda x: str(row[x]).strip(), list2);
请注意,当然,您不会在输出中看到str(row["name"]).strip()
,而是看到评估的值。