lxml 노드에 12 개의 속성을 할당하려고합니다. 람다는 타이핑을 단순화하는 데 사용됩니다. 주석 할당 작업은 정상이지만 람다 sa를 사용하면 예외가 발생합니다. anyboy가이 경우 람다를 사용할 수 있다는 것을 알고 있습니까? 고맙습니다!python에서 전역 매개 변수와 함께 eval 메서드를 사용하는 방법
sa = set_attr = lambda n, v: eval("etp.xpath(u'/Recipe_Definition/%s')[0].text = u'%s'" % (n, v), {u'etp':etp})
#etp.xpath(u'/Recipe_Definition/Author')[0].text = rc.author
#etp.xpath(u'/Recipe_Definition/Comment')[0].text = rc.comment
sa(u'Author', rc.author)
sa(u'Comment', rc.comment)
예외는 다음과 같습니다
sa = set_attr = lambda n, v: eval("etp.xpath(u'/Recipe_Definition/%s')[0].text = u'%s'" % (n, v), {u'etp':etp})
File "<string>", line 1
etp.xpath(u'/Recipe_Definition/Author')[0].text = u'admin'
왜'평가()를 사용하여 여기 **'** 전혀 :
etp
당신의lambda
정의 된 모듈의 세계가 아닌 경우 당신은 또한 인수로etp
에 전달할 수 있습니다? 필요하지 않습니다. –타이핑 코드를 줄이고 싶습니다. 조금 지나치다. :) – Erxin
유니 코드 (v)가 작동하지 않습니다. – Erxin