Форум сайта python.su
Извините, но я не вижу никаких \r в концах срок в этом файле, может не туда смотрю.
Офлайн
\r - это байт 0x0d, его не видно, но он есть (через hex-редактор смотри).
Офлайн
открыл в hex редакторе, тикже ничего не нашел. я пользовался hexurse, видимо редактор не очень, так что я просто взял и заново перепесал в ручную весб модуль и пошло. Спасибо за помощь)))
если знаете посоветуйте какойто hex editor.
Отредактировано palzuncoff (Фев. 9, 2016 10:48:52)
Офлайн
palzuncoffВот твой файл, который ты прикреплял, вот там 0d - это и есть \r.
открыл в hex редакторе, тикже ничего не нашел
[guest@localhost Downloads]$ .hex cgi101.py
00000000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70 |#!/usr/bin/env p|
00000010 79 74 68 6f 6e 33 0d 0a 69 6d 70 6f 72 74 20 63 |ython3..import c|
00000020 67 69 0d 0a 66 6f 72 6d 20 3d 20 63 67 69 2e 46 |gi..form = cgi.F|
00000030 69 65 6c 64 53 74 6f 72 61 67 65 28 29 20 20 20 |ieldStorage() |
00000040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 | # |
00000050 70 61 72 73 65 20 66 6f 72 6d 20 64 61 74 61 0d |parse form data.|
00000060 0a 70 72 69 6e 74 28 27 43 6f 6e 74 65 6e 74 2d |.print('Content-|
00000070 74 79 70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 5c |type: text/html\|
00000080 6e 27 29 20 20 20 20 20 20 20 20 23 20 68 64 72 |n') # hdr|
00000090 20 70 6c 75 73 20 62 6c 61 6e 6b 20 6c 69 6e 65 | plus blank line|
000000a0 0d 0a 70 72 69 6e 74 28 27 3c 74 69 74 6c 65 3e |..print('<title>|
000000b0 52 65 70 6c 79 20 50 61 67 65 3c 2f 74 69 74 6c |Reply Page</titl|
000000c0 65 3e 27 29 20 20 20 20 20 20 20 20 23 20 68 74 |e>') # ht|
000000d0 6d 6c 20 72 65 70 6c 79 20 70 61 67 65 0d 0a 69 |ml reply page..i|
000000e0 66 20 6e 6f 74 20 27 75 73 65 72 27 20 69 6e 20 |f not 'user' in |
000000f0 66 6f 72 6d 3a 0d 0a 20 20 20 20 70 72 69 6e 74 |form:.. print|
00000100 28 27 3c 68 31 3e 57 68 6f 20 61 72 65 20 79 6f |('<h1>Who are yo|
00000110 75 3f 3c 2f 68 31 3e 27 29 0d 0a 65 6c 73 65 3a |u?</h1>')..else:|
00000120 0d 0a 20 20 20 20 70 72 69 6e 74 28 27 3c 68 31 |.. print('<h1|
00000130 3e 48 65 6c 6c 6f 20 3c 69 3e 25 73 3c 2f 69 3e |>Hello <i>%s</i>|
00000140 21 3c 2f 68 31 3e 27 20 25 20 63 67 69 2e 65 73 |!</h1>' % cgi.es|
00000150 63 61 70 65 28 66 6f 72 6d 5b 27 75 73 65 72 27 |cape(form['user'|
00000160 5d 2e 76 61 6c 75 65 29 29 0d 0a |].value))..|
0000016b
[guest@localhost Downloads]$
palzuncoffПоставь себе линукс.
если знаете посоветуйте какойто hex editor.
Офлайн
спасибо я понял,
хотел заметить что у меня линукс, а этот сценарий походу написан на виндовс и работает там отлично.
после ваших рекомендаций я почитал и выяснил что \r в конце добовляет именно виндовс так как dos понимает именно этот перенос строки.
также эти символы можно увидеть open('cgi101.py', ‘rb’).read() в интерактивной оболочке.
ещё для людей которые возможно будут читать эту тему хочу сказать что если редактирование юникода не для вас, то с этой проблеммой можно справится просто переписав модуль заново (не скопировать содержимое а именно вбить его руками) и все пойдет.
Офлайн
palzuncoffВ линуксе это через sed делается.
не скопировать содержимое а именно вбить его руками
sed -i~ 's/\r//' cgi101.py
Отредактировано py.user.next (Фев. 9, 2016 14:30:55)
Офлайн