Python 3.6 urllib почему строка начинается с b

Я использую Python 3, и не понимаю, почему вывод имеет b в каждом начале строки. Я не думаю, что это так для Python 2. Почему это и как это удалить? Спасибо

import urllib
# fhand = urllib.urlopen('http://www.py4inf.com/code/romeo.txt') in Python 2
fhand = urllib.request.urlopen('http://www.py4inf.com/code/romeo.txt')
for line in fhand:
    print(line.strip())

вывод выглядит так

b'But soft what light through yonder window breaks'
b'It is the east and Juliet is the sun'
b'Arise fair sun and kill the envious moon'
b'Who is already sick and pale with grief'

1 ответ

Я знаю, что на этот вопрос ответили более года назад, я нашел простой. Я просто добавил decode() на мою строку кода.

def fetch_words():
    with urlopen(url) as story:
        story_words = []
        for line in story:
            line_words = line.decode('utf-8').split()
            for word in line_words:
                story_words.append(word)

        for word in story_words:
            print(word)

Это сработало, удалив b в начале каждой строки.

Другие вопросы по тегам