2015-04-28 128 views
2

這裏有個關於python的新手問題。
從下面的函數打印一個變量作爲對象名稱的值python

def singlereader(url, linkGlue): 
    d = feedparser.parse(url) 
    tmp = [] 
    for item in d.entries: 
     tmp.append(item.linkGlue) # line 5 
    return tmp 

如何將我使用變量值作爲對象名稱爲「項目」 在第5行,我想用「linkGlue」變量的值。

回答

2

如果我的理解是否正確,使用:

getattr(item, linkGlue) 

代替

item.linkGlue 
1

我認爲你可以在這裏最接近的是利用operator.attrgetter或者使用內置getattr

def singlereader(url, linkGlue): 
    from operator import attrgetter 
    d = feedparser.parse(url) 
    tmp = [] 
    for item in d.entries: 
     #tmp.append(attrgetter(linkGlue)(item)) # line 5 
     tmp.append(getattr(item, linkGlue)) 
    return tmp