@ru_python

Страница 427 из 9768
Aragaer
20.03.2016
19:13:27
хотя не, эти два как раз по сигналу нормально скажут, записал. Ошибка будет только если ничего не успели записать, а уже сигнал

87776
20.03.2016
19:13:33
ну так в обработчике будет какой-ниьбудь sys.exit

Aragaer
20.03.2016
19:13:53
а зачем тебе в обработчике sys.exit?

87776
20.03.2016
19:14:04
ну а как оно завершит работу тогда?

Google
87776
20.03.2016
19:14:20
~test`

qeq

`#-*- coding: utf-8 -*- import signal, sys, time def handle(signum, frame): print 'Alarm! job failed' sys.exit(1) def job(n): data=[] for x in xrange(n): data.append(x**2) time.sleep(0.1) signal.signal(signal.SIGALRM, handle) # Имитация простой работы, которая будет выполнена успешно signal.alarm(3) job(10) print 'Job 1 done' signal.alarm(0) # Имитация объемной работы, которая не будет успешно выполнена signal.alarm(3) job(100) print 'Job 2 done' signal.alarm(0)`

сука

Aragaer
20.03.2016
19:14:34
ну то есть если ты хочешь "делаем важные дела, а в промежутке проверяем, что может надо перезапуститься", то маска

когда работа начинается, закрываешь sighup маской

когда прекратилась, снимаешь маску

если за это время пришел сигнал, он будет висеть и ожидать

и сработает сразу после снятия маски

87776
20.03.2016
19:17:29
signal.pthread_sigmask(signal.SIG_BLOCK, []); важный кот; signal.pthread_sigmask(signal.SIG_UNBLOCK, [])

я правильно вкурил?

Aragaer
20.03.2016
19:17:48
блокируй только тот конкретный сигнал, который надо

а с пустым списком ты ничего не блокируешь, только читаешь состояние

Google
Aragaer
20.03.2016
19:18:31
ну и я бы посмотрел, может есть контекст менеджер на 

на эту тему

87776
20.03.2016
19:18:52
может дай чо прочесть, а то по документации без общего представления не очень

я понял что туда надо signal.SIGHUP надо положить

Aragaer
20.03.2016
19:19:27
по документации же

mask is a set of signal numbers (e.g. {signal.SIGINT, signal.SIGTERM}). Use range(1, signal.NSIG) for a full mask including all signals.

signal.pthread_sigmask(signal.SIG_BLOCK, {signal.SIGHUP})

а вот это для идеологически правильного: https://docs.python.org/3/library/contextlib.html

87776
20.03.2016
19:23:42
третий питон..

Aragaer
20.03.2016
19:24:10
@contextmanager def masked(signum):     signal.pthread_sigmask(signal.SIG_BLOCK, {signum})     yield     signal.pthread_sigmask(signal.SIG_UNBLOCK, {signum}) with masked(signal.SIGHUP):     do_job

да я думаю оно во втором не сильно отличается

87776
20.03.2016
19:24:30
божечки

тут еще и декораторы

Aragaer
20.03.2016
19:24:58
ну тут декоратор нужен чтобы очень просто сделать примитивный контекстменеджер

более сложный делается уже как класс с __enter__ и __exit__

аха, во втором нет pthread_sigmask

https://pypi.python.org/pypi/pysigset/0.2.1

87776
20.03.2016
19:27:26
а, черт

Aragaer
20.03.2016
19:27:31
но есть вот такое и оно дает сразу констекст менеджер

87776
20.03.2016
19:27:34
жопой смотрел и правда нет, лол

Google
Viktor
20.03.2016
22:13:51
Ребят, Я агрессивный?

Sharkus
20.03.2016
22:14:52
Вроде нет. Хотя, будет лучше, если ты предъявишь прививки и справку.

Pavel
20.03.2016
22:26:19
???? Запасаюсь.

Alex
20.03.2016
22:46:26
Ребят, Я агрессивный?
зависит от раздражителя

Viktor
20.03.2016
22:51:50
Просто мне тут сказали что я агрессивный

И я заметил в ближайшие 10 минут

Что агрюсь на кого-то уже

Boojum
20.03.2016
23:01:57
Всем привет

Вот есть матрица с векторами

Viktor
20.03.2016
23:02:45
Векторами?

Boojum
20.03.2016
23:02:51
Да

Boojum
20.03.2016
23:03:36
Вот я хотел спросить, стоит ли воспринимать вектор как буквальный вектор

Ну то есть в системе координат

Viktor
20.03.2016
23:08:50
Стоп

Что за вектор-то?

Для меня вектор в области программирования — вектора из Си++

Boojum
20.03.2016
23:10:57
Это строка в матрице

Просто, допустим, есть вектор [2, 12, 14, 1]. Это четырехмерное пространство? Как с ним работает Питон?

Viktor
20.03.2016
23:19:09
Хорошо, спрошу по-другому

Google
Viktor
20.03.2016
23:19:24
type(вектор) что дает?

Boojum
20.03.2016
23:26:09
Viktor
20.03.2016
23:44:34
А почему всё так этот напмпи используют активно?

что ето и зачем?

Boojum
20.03.2016
23:45:45
Пакет для работы с векторами и матрицами

Статистика разная

Yegor
21.03.2016
03:33:37
Привет, посоны. Никто не знает, можно ли динамически создавать описание команд бота?

Admin
ERROR: S client not available

Yegor
21.03.2016
03:33:56
По мануалу, надо написать botfather'y '/commands' и передать команды

А можно это как-то из кода сделать?

Alexander
21.03.2016
04:37:12
Н

но писал им на эту тему, толком ничего не сказали, мол мы маленькие еще

87776
21.03.2016
09:46:33
Ребят, Я агрессивный?
ты чо такой резкий, епт!

Denis 災 nobody
21.03.2016
09:47:37
это какой сайт?

Ivan
21.03.2016
09:51:52
это какой сайт?
я хз, но сам пользую http://regexr.com/

Denis 災 nobody
21.03.2016
09:55:31
я хз, но сам пользую http://regexr.com/
оно совместимо с питоном? а то у него свои регэкспы, не совместимые с тем же перлом

[Anonymous]
21.03.2016
09:56:58
это какой сайт?
Похоже на https://regex101.com

Google
Henaro
21.03.2016
10:02:24
https://regex101.com/

вот этот пока милее

Denis 災 nobody
21.03.2016
10:05:45
3 постами выше оно же ))

Henaro
21.03.2016
10:07:51
да, поздно заметил )

Yegor
21.03.2016
10:30:15
нельзя
А боты могут ботфазеру писать?

87776
21.03.2016
10:32:11
А боты могут ботфазеру писать?
даже если и могут, что с того? ботфазер воспринимает только юзеров

https://regex101.com/
на что только не идут люди лиж бы не использовать встроенные в линукс инструменты

и вообще

почему загребелин админ я а ниадмин

Henaro
21.03.2016
10:33:33
особенно если сидишь под вендой

Pavel
21.03.2016
10:35:00
почему загребелин админ я а ниадмин
Не очень понял претензию.

87776
21.03.2016
10:35:09
это не претензия

но суть в том что я тоже хочу админа

Pavel
21.03.2016
10:35:44
Админа чего?

Группы этой чтоли? Так нам там 7 человек, почему ко мне вопрос?

Sharkus
21.03.2016
11:12:53
Да кикни его, делов-то :)

Вопросы он тут задаёт, понимаешь ли.

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