Python 2 для Python 3 Futurize Встроенные функции ул - PullRequest
0 голосов
/ 03 июля 2018

Я конвертирую приложение django из Python 2 в Python, используя futurize. Я в настоящее время футуризирую future_builtins. В следующем наборе кода в тесте:

response = str(self.client.get(self.url))

Я получаю следующую ошибку: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 3261: ordinal not in range(128) и тест не пройден

Однако, когда я удаляю следующий импорт:

from builtins import str

Тесты пройдены. Я пытался использовать функцию decode (), но получаю ту же ошибку. Где я могу пойти не так?

1 Ответ

0 голосов
/ 03 июля 2018

Не хотите ли вы выбрать определенный набор вещей из ответа? например. Помимо этого, я не думаю, что это хорошая идея.

response = self.client.get(self.url)
if response.is_client_error() or response.is_server_error():
    # do failure
else:
    content = response.content
    # check content

Если вы хотите преобразовать его в строку, я бы не советовал, но возможна хорошая совместимость.

response = self.client.get(self.url).__repr__() 
# or "even less recommended reason being is it will fail for eval()"
response = self.client.get(self.url).__str__() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...