2017-07-03 43 views
0

我试图在函数内部传递参数,但没有成功。 该功能的目的是返回XML标签 这个代码不工作:函数内部的python参数

from bs4 import BeautifulSoup 
def xmlTag(message): 
conf = open('timeLimit.conf').read().lower() 
for config in conf.splitlines(): 
    if config in conf.splitlines(): 
     data = BeautifulSoup(conf, "lxml") 
     tag = data.message 
     print(tag['msg']) 

    break 

xmlTag(“FUN2”)

,如果我把FUN2而不是“消息”变量,像这样的“标签= data.fun2" 代码工作 请帮助我 什么“M做错了

+0

方法名不能在Python参数。考虑传递一个lambda作为接受数据作为其输入并返回一个标签的参数。 – Gene

回答

2

尝试这样做:

... 标签= GETATTR(数据,消息) ...

getattr是在变量中有名称时从对象中检索属性的方式。

(虽然你的代码有一些其他的问题,以及 - 这break声明它是确保你的循环将终止在第一次循环,例如)