Специальные символы Python, не сохраняемые при записи файла в «wb»Python

Программы на Python
Anonymous
Специальные символы Python, не сохраняемые при записи файла в «wb»

Сообщение Anonymous »

У меня возникла проблема со следующей функцией:

Код: Выделить всё

def download_zip(key: str):
response = requests.get('some url')

if response.status_code == 200:
header = response.headers.get('content-disposition')

if type(header) == str:
file_name = re.findall("filename=(.+)", header)[0][1:-1]
else:
file_name = f"{key}.zip"

with open(file_name, mode='wb') as f:
f.write(response.content)

print(f"Written: {file_name}")

else:
print(f"Failed: {key} -> {response.status_code}")

URL-адрес «some url» указывает на zip-файл.
При загрузке файла с помощью браузера его имя содержит японские символы, которые сохраняются :

Код: Выделить всё

音のないレプリカ
.
В моем коде это не так, и вместо этого выдается что-то вроде этого:
é³ã®ãªãã¬ããªã«. Как я могу сохранить эти символы?

Подробнее здесь: https://stackoverflow.com/questions/783 ... rite-in-wb

Вернуться в «Python»