如何使用request.get()
将参数传递给函数所以这是我的原始代码
def get_xml():
xml = requests.get("http://charts.com/charts/101.xml").text
return xml
print get_xml()
上面的代码可以得到我需要的,但是如何用x替换“101”。 我试图用url变量替换我的地址,但我得到了typeError。请建议。
def get_xml(x):
url = "http://charts.com/charts/" + x + ".xml"
xml = requests.get(url).text
return xml
print get_xml(101)
答案 0 :(得分:1)
def get_xml(x):
url = "http://charts.com/charts/%s.xml" % x
xml = requests.get(url).text
return xml
print get_xml(101)
答案 1 :(得分:1)
您可以尝试使用格式,如下例所示:
def get_xml(x):
url = "http://charts.com/charts/{}.xml".format(x)
xml = requests.get(url).text
return xml
print get_xml(101)
编辑:有关格式的更全面说明,请参阅以下link
答案 2 :(得分:1)
def get_xml(x):
url = "http://charts.com/charts/" + x + ".xml"
xml = requests.get(url).text
return xml
print get_xml(“101”)
这可能是您修改后的代码应该是什么样子。我认为代码认为你在尝试一起添加文本和数字
答案 3 :(得分:1)
Python是一种强类型语言。这意味着它不知道如何添加整数和字符串:
>>> "5" + 5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
在您的情况下,101
是一个int。
您可以尝试使用字符串作为参数调用get_xml
函数:
print get_xml("101")
或者在尝试连接之前将参数(在函数内部)转换(强制转换)为字符串(第二个选项可能更好,因为那时你的函数可以正常工作x
是int
或str
,并且不依赖于调用get_xml
函数的程序员的善意:
url = "http://charts.com/charts/" + str(x) + ".xml"
或:
url = "http://charts.com/charts/%s.xml" % x
(对于最后一个,请检查this link)