Форум сайта python.su
Помогите решить проблему. Обычная программа для отображения текста:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return ‘<h1>Hello world!</h1>’
@app.route('/user/<name>')
def user(name):
return ‘<h1>Hi, %s!</h1>’ % name
if __name__=='__main__':
app.run(debug=True)
При запуске, которой выдается ошибка:
* Serving Flask app “flask2” (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 720-831-746
Exception in thread Thread-1:
Traceback (most recent call last):
File “C:\\Python38\lib\threading.py”, line 932, in _bootstrap_inner
self.run()
File “C:\\Python38\lib\threading.py”, line 870, in run
self._target(*self._args, **self._kwargs)
File “C:\\Roaming\Python\Python38\site-packages\werkzeug\serving.py”, line 996, in inner
srv = make_server(
File “C:\\Roaming\Python\Python38\site-packages\werkzeug\serving.py”, line 847, in make_server
return ThreadedWSGIServer(
File “C:\\Roaming\Python\Python38\site-packages\werkzeug\serving.py”, line 740, in __init__
HTTPServer.__init__(self, server_address, handler)
File “C:\\Python38\lib\socketserver.py”, line 452, in __init__
self.server_bind()
File “C:\\Python38\lib\http\server.py”, line 140, in server_bind
self.server_name = socket.getfqdn(host)
File “C:\\Python38\lib\socket.py”, line 756, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: ‘utf-8’ codec can't decode byte 0xcc in position 0: invalid continuation byte
Process finished with exit code -1
Офлайн
.
Офлайн
# -*- coding: utf-8 -*- - попробуй в начале файла
Офлайн
D7sizeУ него третий питон. А в третьем питоне это сделали по умолчанию. Если кодировка не указана, то предполагается utf-8. Во втором питоне была ascii, поэтому там надо ставить utf-8 всегда.
# -*- coding: utf-8 -*- - попробуй в начале файла
Отредактировано py.user.next (Март 22, 2022 12:53:06)
Офлайн
Хз у меня 3,6 на разных машинах работает по разному почему-то, друг если можешь поомги мне в моем посте, там вопрос тупой, но с подковыркой.
К это посту еще попробуй строчки кодириовать декодировать в ручную через функцию пример :
f = open('user_tmp.txt', 'r', encoding='utf-8')
Офлайн
D7sizeЭто давно уже введено
Хз у меня 3,6 на разных машинах работает по разному почему-то
Отредактировано py.user.next (Март 22, 2022 21:23:44)
Офлайн
Да вот друг я так и делаю, а файлы которые пишутсяь на лету имеют cp-1251 так как под виндой, на ноуте проблем нету с этим, а на пк полноценном приходиться устраивает такой геморой, может винда работает не правильно, но это не беда, encod decod выручиает, я питоном три недели занимаюсь, пока еще пробка)))
Офлайн
D7sizeДа Windows - это система для бухгалтерш и подростков, играющих в игры. Поэтому там эта кодировка из прошлого века, которая не покрывает все языки мира даже. Полноценная кодировка - это utf-8. Чтобы в винде на ней писать, поставь нормальный текстовый редактор. Не надо там нигде ставить кодировку в исходниках, надо просто нормальный редактор кода поставить, раз ты решил в этой убогой системе заниматься программированием. На самом деле, ты теряешь ещё больше всего, но даже не знаешь об этом. Так что ставь себе Linux, так как там ты вообще не столкнёшься даже с такими проблемами. В Linux есть программы sed, awk, grep, компиляторы и всё бесплатно. В винде нет нихера и каждая прожка, которая делает хоть что-то более менее, выдаётся как откровение века. Причина указана выше: это система для ничего не знающих и ничего не понимающих; а сделана она для того, чтобы собирать с них деньги.
может винда работает не правильно
Отредактировано py.user.next (Март 23, 2022 13:03:34)
Офлайн