python新手,尝试webscrape一个每15分钟刷新一次的表。遇到需要字符串的错误

python新手,尝试webscrape一个每15分钟刷新一次的表。遇到需要字符串的错误,python,web-scraping,Python,Web Scraping,错误: C:\Python>pythonwebscrape.py 回溯(最近一次呼叫最后一次): 文件“webscrape.py”,第23行,在 打印(“集线器:+集线器) TypeError:必须是str,而不是list 代码: 您必须用逗号分隔它们,而不是连接它们: print("hubs:", hubs) 您将收到与此相同的警告: >>> print("hi" + [1]) Traceback (most recent call last): File "<p

错误:

C:\Python>pythonwebscrape.py 回溯(最近一次呼叫最后一次): 文件“webscrape.py”,第23行,在 打印(“集线器:+集线器) TypeError:必须是str,而不是list

代码:


您必须用逗号分隔它们,而不是连接它们:

print("hubs:", hubs)
您将收到与此相同的警告:

>>> print("hi" + [1])
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    print("hi" + [1])
TypeError: must be str, not list
>>> print("hi", [1])
hi [1]
如果要用逗号分隔这些值,请执行“
”,”。连接(集线器)

注意:如果您使用的是Python2,则在print语句中不需要括号

另一种方法是使用字符串格式:

print(“hubs: {hubs}”.format(hubs=hubs))

是的,错误本身是非常描述性的…集线器是一个列表,所以你不能这样显示它的内容…例如,如果你写
print(“集线器:+hubs[0])
,你会得到一个结果…或者你可以使用
join
,比如
print(“集线器:+hubs.join(,”)
如果你使用的是python2而不是python3,您可能也不希望在print语句中使用括号。@DanielH看起来他正在使用python 3,因为他的print语句中有括号。是的,但从问题和对python的陌生程度来看,这并不能保证。当我第一次学习python(2)时,我经常意外地插入括号,因为这是其他编程语言(以及python中的大多数其他操作)的工作方式。对于python 3,高级
str.format()
也值得考虑:
print(“hubs:{0}.format(hubs))
>>> print("hi" + str([1]))
hi[1]
print(“hubs: {hubs}”.format(hubs=hubs))