【发布时间】:2018-08-09 06:57:56
【问题描述】:
我正在制作一个“刽子手”游戏,并且想让 python 从网站中随机选择一个单词。但它一直打印为b'word',并且想知道如何解决这个问题,以便它只是一个字。
我的代码:
import random
import urllib.request
with urllib.request.urlopen('https://svnweb.freebsd.org/csrg/share/dict/words?view=co&content-type=text/plain') as response:
html = response.read()
word_list = html.split()
word_chocie = random.choice(word_list)
word = word_chocie.strip("b")
print(word)
我不断收到此错误,不知道如何解决:
Traceback (most recent call last):
File "H:/hangman.py", line 23, in <module>
word = word_chocie.strip("b")
TypeError: a bytes-like object is required, not 'str'
【问题讨论】:
-
你试过了吗?斗争在哪里?什么不工作?如果你试过,请分享你得到的;如果没有 - StackOverflow 不是让别人为你写代码的地方。
-
现在已经改变了。谢谢你让我知道:)
-
现在看起来好多了。您需要等待具有足够声誉的人审核您的编辑,以便重新打开问题以接受答案。
-
用
html = response.read().decode('utf-8')代替html = response.read()。您不需要删除'b',它实际上不是字符串的一部分。看这里。 docs.python.org/3/library/urllib.request.html#examples -
我无法发布答案,因为它已关闭,但对于 Reversal 徽章来说已经成熟了 :)
标签: python python-3.x random