@ru_python

Страница 9196 из 9768
?? Eugene
30.05.2019
19:47:14
ну в общем, я плохо помню апи дескрипторов

Alex
30.05.2019
19:50:53
Slam! 538
30.05.2019
19:50:55
А дескриптор можно в метод превратить, определив __callable__

Google
Максим
30.05.2019
19:52:29
?? Eugene
30.05.2019
19:52:34
Надо доку по дескрипторам перечитать)

Slam! 538
30.05.2019
19:52:40
Максим
30.05.2019
19:52:46
можно
:lenny:

Sergey
30.05.2019
19:53:11
после того как я пришибаю скрипт через pkill сокет который он занимал остается висеть

в самом скрипте не надо ничего дополнительно прописать?

Максим
30.05.2019
19:53:33
и таких проблем не будет

Sergey
30.05.2019
19:54:48
так а в чем дело то, почему так?

Slam! 538
30.05.2019
19:55:35
Sergey
30.05.2019
19:56:05
а есть возможность получить уведомление внутри скрипта, что его киляют?

Google
Sergey
30.05.2019
19:56:12
тогда можно закрыть сокет да

Sergey
30.05.2019
19:57:40
пытаюсь запустить скрипт ээтот же, он говорит, что сокет уже занят с этим портом

Alex
30.05.2019
19:57:46
так а в чем дело то, почему так?
потому что кто-то полез говнокодить не изучив основы ОС.

Sergey
30.05.2019
19:58:05


Sergey
30.05.2019
19:58:43
this
ну вот таким образом люди обычно и учатся, на ошибках

Alex
30.05.2019
19:59:27
ну вот таким образом люди обычно и учатся, на ошибках
не-а, люди обычно читают несколько умных книжек, после чего перестают удивляться неожиданным открытиям.

зы тебе в @ru_python_beginners

Sergey
30.05.2019
20:00:10
я и не удивляюсь, задаю вопрос просто, что сокеты провисают все знают и без книжек ... вопрос как в конкретном случае того избежать можно

Alex
30.05.2019
20:01:55
https://docs.python.org/3/library/socketserver.html#socketserver.BaseServer.allow_reuse_address

Sergey
30.05.2019
20:02:54
https://docs.python.org/3/library/socketserver.html#socketserver.BaseServer.allow_reuse_address
спасибо за наводку, единственное что это не совсем то что мне нужно, т.к. сокеты я сам не открываю, видимо ээто делает либа BaseHTTPServer

Sergey
30.05.2019
20:03:37
Alex
30.05.2019
20:04:00
а вот как полученные знания применить ты уж сам как-нибудь.

Sergey
30.05.2019
20:05:16
не помогает )

Alex
30.05.2019
20:06:21
не помогает )
сочувствую

Sergey
30.05.2019
20:07:12
спасибо, теперь лучше... но по факту ничего не изменилось

Google
Sergey
30.05.2019
20:09:12
если скрипт просто остановить, то все впорядке, проблема только если скрипт вырубить через pkill

Alex
30.05.2019
20:09:47
Кстати HTTPServer по-умолчанию и так устанавливает allow_reuse_address.

Sergey
30.05.2019
20:14:34
tcp4 132 0 10.0.1.102.8000 209.17.96.250.37256 CLOSE_WAIT



Amaro
30.05.2019
20:16:52
Так разве заработает?
Вот так заработает: class Foo: @staticmethod def bar(): print('Oops') Foo.bar() НО НАФИГА?

Amaro
30.05.2019
20:17:28
нет
Работает же =)



Alex
30.05.2019
20:19:38
эм… а ты запусти новую сессию ?

и удивишься

Amaro
30.05.2019
20:20:07
Чему удивлюсь?

Amaro
30.05.2019
20:20:27
просто оно сработает в момент определения класса, и всё.

Alex
30.05.2019
20:20:50
но у тебя в момент вызова Foo.bar() имя Foo еще не определено

Amaro
30.05.2019
20:21:12
но у тебя в момент вызова Foo.bar() имя Foo еще не определено
Определено, конечно. Код же работает =) Скопипасть и посмотри.

polunin.ai???
30.05.2019
20:21:17
Определено же...

Language: py3 Source: class Foo: @staticmethod def bar(): print('Oops') Foo.bar() Errors: Traceback (most recent call last): File "source_file.py", line 1, in <module> class Foo: File "source_file.py", line 5, in Foo Foo.bar() NameError: name 'Foo' is not defined

А, нет

Не работает

Alex
30.05.2019
20:21:43
Определено, конечно. Код же работает =) Скопипасть и посмотри.
нет, ты ведь до этого тоже в этой же сессии класс Foo определял ?

Google
Amaro
30.05.2019
20:24:00
нет, ты ведь до этого тоже в этой же сессии класс Foo определял ?
Хорошо. Вот так сработает, но уже совсем не понимаю, зачем: class Foo: def bar(): print('Oops') bar()

?? Eugene
30.05.2019
20:25:36
class Foo: print("foooo")

Alex
30.05.2019
20:26:31
tcp4 132 0 10.0.1.102.8000 209.17.96.250.37256 CLOSE_WAIT
у тебя сокет в состоянии CLOSE_WAIT висит.

посмотри какой процесс его держит lsof -nP -i4TCP:8000

Sergey
30.05.2019
20:27:39
MacBook-Pro:~ alien$ lsof -nP -i4TCP:8000 lsof: WARNING: can't stat() smbfs file system /Volumes/com.apple.TimeMachine.Бэкапы-903E25B7-496D-4E1A-A8AA-89F7CBE6D1EF Output information may be incomplete. assuming "dev=3400007c" from mount table COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dns-sd 85225 alien 3u IPv4 0xc7a792407983006f 0t0 TCP *:8000 (LISTEN)

bonjour сервис

Alex
30.05.2019
20:33:33
воу, так а как ты собрался запускать свой http сервер на 8000 порту если его у тебя уже слушает dns-sd?

Sergey
30.05.2019
20:34:45
это как раз он и есть

короче если скрипт запущен нормально из терминала, то киляется он тоже нормально

Admin
ERROR: S client not available

Sergey
30.05.2019
20:35:28
проблема только в скрипте запущенном из NStask... из приложения

осталось найти в чем конкретно причина

Alex
30.05.2019
20:37:07
проблема только в скрипте запущенном из NStask... из приложения
тогда опиши подробно схему взаимодействия

Sergey
30.05.2019
20:37:56
схема достаточно простая, скрипт запускается из приложения с эмуляцией командной строки

вот если он так запускается, то pkill его прибивает не до конца, т.е. сам скрипт перестает работать это 100% а вот сокеты провисают

Alex
30.05.2019
20:38:42
на каком порту слушает? при чем тут dns-sd?

Sergey
30.05.2019
20:38:59
скрипт перестает работать, потому что пока он работает, он пишет каждую секунду свое состояние, т.е. это я проверить могу

он слушает на тех портах что я задаю 8000 в том числе был ))

а dns-sd стартует дл того что бы сервер был виден через bonjour

theArguments = 'dns-sd -R \'%s\' \'%s\' \'%s\' %s' % (name, '_http._tcp', '.', port)

Google
Sergey
30.05.2019
20:40:20


))

Amaro
30.05.2019
20:42:20
Sergey
30.05.2019
20:42:38
по идее должны )

у меня есть два скрипта ))

один рабочий, второй я ковырял

первый работает нормально и гасится тоже

второй нет ))

значит я что то упустил

вот этот скрипт рабочий, запустакется и выключается нормально

Alex
30.05.2019
20:45:33
хрень какая. при чем тут подвисающие сокеты если у тебя dns-sd слушает тот же порт на котором ты пытаешься запускать свой http сервер

mr
30.05.2019
20:47:26
у меня есть в json строка вот такого вида: "name": "Школа мотокросса и эндуро "AURORA"", JSONDecodeError ругается на это! как мне экранировать нужные кавычки replace не покатит так как он все кавычки поменяет

Amaro
30.05.2019
20:48:08
Это какой-то неправильный JSON

Sergey
30.05.2019
20:48:12
я нашел причину почти )

mr
30.05.2019
20:48:13
регуляркой делать или есть что лучше ?

Это какой-то неправильный JSON
знаю, что не правильный, ну что ж делать то) надо спарсить стену

polunin.ai???
30.05.2019
21:00:17
регуляркой делать или есть что лучше ?
Простой алгоритм ручками запилить

Там строк 20-30 будет

Tishka17
30.05.2019
21:14:16
но можно например вот так class A: @staticmethod def foo(): print('foo') foo.__func__()
Только проще убрать один таб и просто вызывать

Страница 9196 из 9768