
Tishka17
18.06.2019
10:38:45
RO сутки

Dima
18.06.2019
10:38:57
Суток мало

Tishka17
18.06.2019
10:39:06
я добрый

Dima
18.06.2019
10:39:15
?

Google

Tishka17
18.06.2019
10:41:42
кажется, я случайно забанил =D
в общем, я добрый, но телеграмом пользуюсь плохо

Alex
18.06.2019
10:48:46
#selenium #xpath #try
Вопрос: Есть элемент на веб-странице , находимый (или не находимый по х-пазу).
У елемента может быть (или не быть) атрибут
'data-visible' - соответсвенно он может быть 'true' или 'false'
пытаюсь определить видимость объекта - если он есть, берем атрибут 'data-visible' , если атрибута нет - считаем его видимым.
Почему вот такой код возвращает False, когда атрибут 'data-visible' отсутсвует:
if i != '' and visible != vcheck:
vi = 'false'
xpath = f'//*[@id="{i}"]'
#print (xpath)
element = time_xp(context, xpath)
#если элемент есть:
if element is not None:
vi = 'true'
try:
vi = element.get_attribute('data-visible')
except:
vi = 'true'
if vi == 'true':
visible = True
else:
visible = False

Maxym
18.06.2019
10:49:40
Здравствуйте, помогите с авторизацией в Гугл. Можно ли авторизоваться через Python имея логин и пароль от почты?

Alexander
18.06.2019
10:50:06
Есть ли смысл параллелить скачивание большого кол-ва гигабайтных видео с Ютуба? Кажется, что прироста в скорости не должно быть

koder
18.06.2019
10:51:35
По крайней мере если очень сильно не покрутить размеры буферов и параметры тсп стека

Alexander
18.06.2019
10:56:22

Ruslan
18.06.2019
11:19:18
ЧЯДНТ (именно одновременное пополнение и получение не удается совместить)
def p(q, pushed, t):
for i in range(20):
sleep(.2)
print(t, i)
q.put(i)
print('Event: pushed')
pushed.set()
def g(q, pushed, t):
while not pushed.isSet() or not q.empty():
sleep(.5)
print(t, q.get())
if __name__ == '__main__':
# mp.set_start_method('spawn')
pushed = Event()
q = mp.Queue()
p0 = mp.Process(target=p, args=(q, pushed, 'P_Pusher'))
p1 = mp.Process(target=g, args=(q, pushed, 'P_Puller1'))
p2 = mp.Process(target=g, args=(q, pushed, 'P_Puller2'))
...start...join...

koder
18.06.2019
11:33:47
откуда event импортируется?
@ruslan001 ^

Tishka17
18.06.2019
11:35:25
ЧЯДНТ (именно одновременное пополнение и получение не удается совместить)
def p(q, pushed, t):
for i in range(20):
sleep(.2)
print(t, i)
q.put(i)
print('Event: pushed')
pushed.set()
def g(q, pushed, t):
while not pushed.isSet() or not q.empty():
sleep(.5)
print(t, q.get())
if __name__ == '__main__':
# mp.set_start_method('spawn')
pushed = Event()
q = mp.Queue()
p0 = mp.Process(target=p, args=(q, pushed, 'P_Pusher'))
p1 = mp.Process(target=g, args=(q, pushed, 'P_Puller1'))
p2 = mp.Process(target=g, args=(q, pushed, 'P_Puller2'))
...start...join...
Я знаю что не так! Имена переменных - непонятное УГ

koder
18.06.2019
11:35:31
если о коде, то лучше, наверное, ложить в очередь массив событий, а не по одному - тогда не будет мороки с евентом

Google

Ruslan
18.06.2019
11:38:43

koder
18.06.2019
11:41:08
threading
вот и ответ. а у тебя процессы, у каждого будет свои независимый event
https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Event

Ruslan
18.06.2019
11:42:16

koder
18.06.2019
11:42:59
если ты накидываешь элементы в очередь и пытаешься их читать оттуда только по евенту, то куда проще будет накидывать их в массаив и ложить массив в очередт
а с другой стороны тупо делать q.get()
и выкинуть евент нафиг

Ruslan
18.06.2019
11:44:25

Tishka17
18.06.2019
11:44:40

Ruslan
18.06.2019
11:44:47
евент на то что пополнения больше не будет

koder
18.06.2019
11:45:02

Tishka17
18.06.2019
11:45:32
А. Евент только в главном процессе используется

Ruslan
18.06.2019
11:45:45

koder
18.06.2019
11:45:53

Tishka17
18.06.2019
11:46:41

koder
18.06.2019
11:46:45

Ruslan
18.06.2019
11:46:54

koder
18.06.2019
11:47:50
А нах там проверка на q.empty()?
взведенный эвент говорит что больше не будет новых данных, а это проверка на то что ничего не осталось в очереди
с рейсом, конечно :D

Google

koder
18.06.2019
11:48:18
тот факт что очередь не пустая не означает что ты из нее что-то прочитаешь

Ruslan
18.06.2019
11:49:16

koder
18.06.2019
11:49:34

Ruslan
18.06.2019
11:49:46
разве что лепить локальную переменную
всеравно не нравится

koder
18.06.2019
11:49:50
текущий код может повиснуть в дедлоке на g.get()

Tishka17
18.06.2019
11:50:50

koder
18.06.2019
11:50:55

Ruslan
18.06.2019
11:51:57

koder
18.06.2019
11:51:58

Tishka17
18.06.2019
11:52:19

koder
18.06.2019
11:52:27

Tishka17
18.06.2019
11:52:38
Только "клади"

Ruslan
18.06.2019
11:52:45
Ну и пусть
и процесс завершится т.к. не обнаружит маркер

koder
18.06.2019
11:52:55
он зависнет в get

Tishka17
18.06.2019
11:53:12

Ruslan
18.06.2019
11:53:21

Kamil
18.06.2019
12:08:37
если внутри запущенного (.start()) потока упало исключение, оно может проброситься в основной поток?

koder
18.06.2019
12:11:26

Google

?Rain?
18.06.2019
12:15:14
есть датасеййнтисты?

?
18.06.2019
12:16:15

Ruslan
18.06.2019
12:16:27

?Rain?
18.06.2019
12:16:36

koder
18.06.2019
12:16:39

?Rain?
18.06.2019
12:16:58

koder
18.06.2019
12:18:04

?Rain?
18.06.2019
12:18:24
почитай
я по вирусным сайтем не перехожу украдут у меня пароь от вк

?
18.06.2019
12:20:10

?Rain?
18.06.2019
12:21:26
)

Paul
18.06.2019
12:21:53
MailGrups своего асистента придумала)))

Pavel
18.06.2019
12:22:09

?Rain?
18.06.2019
12:22:17

M
18.06.2019
12:22:29
Мурусю что ли?

Paul
18.06.2019
12:22:49
Дадада маруся)))

M
18.06.2019
12:23:14
Эт ж самое популярное имя в России

?Rain?
18.06.2019
12:23:21
лизу?

M
18.06.2019
12:23:21
Ассоциации