st1= str()
c1= str()
c2= str()
EndCash = float()
page = requests.get('http://www.xe.com/currencyconverter/convert/?Amount=' +
str(st1) + '&From=' + (c1) + '&To=' + (c2))
tree = html.fromstring(page.content)
rate = tree.xpath('//span[@class="uccResultAmount"]/text()')
symbol = tree.xpath('//span[@class="uccToCurrencyCode"]/text()')
EndCash = rate + symbol
我正在使用requests
模块和lxml
来从互联网上获取货币汇率。这样做时我遇到了问题。我收到must be str, not float
错误。我在tkinter
中使用这行代码作为标签,因此EndCash
的输出应出现在标签中。此代码独立工作,但在tkinter
中无法正常工作
>>>TypeError: must be str, not float
on first statememt。
答案 0 :(得分:0)
像这样你的代码应该工作,你必须在定义它们之后将浮点数转换为字符串
page = requests.get('http://www.xe.com/currencyconverter/convert/?Amount=' + str(st1) + '&From='+str(c1) +'&To=' + str(c2))
tree = html.fromstring(page.content)
rate = tree.xpath('//span[@class="uccResultAmount"]/text()')
symbol = tree.xpath('//span[@class="uccToCurrencyCode"]/text()')
EndCash = str(rate + symbol)