
Deep Sea
03.03.2019
23:06:42
какие?

Vadim
03.03.2019
23:06:57
PermissionError: [WinError 5] Access is denied
Кидает ошибку при вызове ffmpeg

Deep Sea
03.03.2019
23:07:37
подумой

Google

Cookie
03.03.2019
23:07:42
От админа пробовал?

Vadim
03.03.2019
23:07:45
run as administrator не помогает
По коду ошибка в subprocess при winapi.CreateProcess

Nikolay
03.03.2019
23:14:41
Смотри админа

Vadim
03.03.2019
23:22:19
Решил проблему, неправильно вписал пути -_-
Спасибо за помощь
В итоге оказалось, что библиотека полностью люнуксявая, ибо после идут alarm

В.
03.03.2019
23:26:01
Можно ли в selenium или в другой подобной библиотеке работать с несколькими вкладками одновременно, без создание нового драйвера?
Уже говорили, что нет, но может есть какое-то решение?

Nikolay
03.03.2019
23:26:36
А стоп, одновременно - нет
Никогда не слышал и не видел

В.
03.03.2019
23:27:10
но параллельный парсинг двух вкладок у меня не выходит

Google

Nikolay
03.03.2019
23:27:17
а переключаться в скрипте между вкладками - запросто

В.
03.03.2019
23:27:37
эх, жаль

Nikolay
03.03.2019
23:28:10
хром или ff выгружает же из памяти неиспользуемый в данный момент вкладки, если там нет активности (включеный плеер, например)

Vadim
03.03.2019
23:29:02
А есть конвертер на ffmpeg, но чтобы под винду работал

Nikolay
03.03.2019
23:29:43

Deep Sea
03.03.2019
23:30:30

Nikolay
03.03.2019
23:30:30
Тебе просто нужен бинарь ffmpeg под свою платформу; потом просто берешь обертку на своем языке над ffmpeg

Vadim
03.03.2019
23:31:11
Имеется в виду, что обёртка, которую я нашёл для питона только для линукса

Deep Sea
03.03.2019
23:31:21
сделай сам свою
через subprocess

Nikolay
03.03.2019
23:31:35

Deep Sea
03.03.2019
23:31:48
не то что бы это было сложно

Nikolay
03.03.2019
23:32:21
Ну тогда проще сразу батник писать и через питон вызывать.
и обертки ненужны тогда

Vadim
03.03.2019
23:32:50

Deep Sea
03.03.2019
23:32:53
ну смотря что надо

Vadim
03.03.2019
23:33:12
Ребят, извините, пожалуйста, мало спал, нес бред. Стыдно

Nikolay
03.03.2019
23:33:32
?

В.
03.03.2019
23:44:02
хочу узнать количество открытых вкладок в selenium, почему этот код выдает 1?
browser.get("https://www.instagram.com/")
browser.get("https://www.instagram.com/")
browser.get("https://www.instagram.com/")
print(len(browser.window_handles))

Google

Deep Sea
03.03.2019
23:44:51
вестимо это всё в одной вкладке происходит

В.
03.03.2019
23:45:56

Deep Sea
03.03.2019
23:46:56
если не переключаешься на новую вкладку, то всё в одной выполняется

Nikolay
03.03.2019
23:48:43
Да
Открывай новый таб, переключйся на него и открывай ссылку
Через c-t вроде автоматом свтчится

В.
03.03.2019
23:51:59
Понял, спасибо

Yury
04.03.2019
02:11:53
В связи с некоторым спором, я протестировал в разных позициях фреймворк Tornado и asyncio на посути микробенчмарке, понятно что это немного поверхностно но все же дает идеи на размышления.
Результаты тут https://github.com/startmatter/python-frameworks-benchmark/pull/3

В.
04.03.2019
02:17:46
можно ли создать очередь из объектов webdriver selenium?

Yury
04.03.2019
02:21:32
А тут у когонибудь еще остались проекты на Pylons?

Mark
04.03.2019
04:59:38
Код:
PDFImages = convert_from_path(PDFPath, dpi=80, first_page=PDFHeaderSkip+1)
ProcessedImage = cv2.cvtColor(PDFImages[0], cv2.COLOR_BAYER_BG2GRAY)
Ошибка:
ProcessedImage = cv2.cvtColor(PDFImages[0], cv2.COLOR_BAYER_BG2GRAY)
TypeError: Expected cv::UMat for argument 'src'
Может кто объяснить, что означает данная ошибка?

Tishka17
04.03.2019
05:01:57
Говорит, ты что-то не то передал

Tishka17
04.03.2019
05:02:42
Что за конверт фром пас?

Mark
04.03.2019
05:05:58

Tishka17
04.03.2019
05:06:19
Это твоя или импорт? Что она возвращает?
И вообще, перестань называть переменные с заглавных букв, пеп8 же есть

Admin
ERROR: S client not available

Mark
04.03.2019
05:07:37

Tishka17
04.03.2019
05:09:45

Mark
04.03.2019
05:27:25

Google

Tishka17
04.03.2019
05:27:38
Ну да

Mark
04.03.2019
05:31:36
Ну да
что в итоге необходимо сделать? преобразовать в нужный формат?

Tishka17
04.03.2019
05:31:48
Да
У тебя одна функция возвращает картинку в одном виде, а другая ждёт в другом

Roman
04.03.2019
05:58:36
Нужен класс типа asyncio.Future только для threading. Есть concurrent.Future, только там написано про set_result:
» This method should only be used by Executor implementations and unit tests.
Задача: ожидать наступления события (блокироваться в данном потоке) и получить после этого результат. Событие и результат выставляется из другого потока.
Что использовать?

Tishka17
04.03.2019
06:01:52
ConditionVariable?
А вообще Thread.join возможно

Cykooz
04.03.2019
06:02:39

Tishka17
04.03.2019
06:03:02
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Future
Какой сценарий вообще, ты из основного потока запускаешь задание и надо дождаться результата? Или у тебя побочный поток что-то делает и генерирует результаты (или только один) и надо в основном дождаться?
И вообще, зачем вдруг понадобились потоки в питоне?

Oleg
04.03.2019
06:05:42

Tishka17
04.03.2019
06:06:20
Потоки для разного нужны
Какой у тебя кейс?


Roman
04.03.2019
06:12:05
Какой сценарий вообще, ты из основного потока запускаешь задание и надо дождаться результата? Или у тебя побочный поток что-то делает и генерирует результаты (или только один) и надо в основном дождаться?
Я использую библиотеку https://github.com/csernazs/pytest-httpserver для тестов HTTP запросов из сторонней C++ программы.
Там есть ordered_handlers - httpserver дожидается прихода соответсвующих запросов, причём в порядке определения, и удаляет обработчик.
Конкретный тест: проверить, что digest auth из сторонней программы работает корректно. Я делаю 2 обработчика - один на доступ по нужному пути без пароля, который возвращает 401, второй - дожидается запроса по тому же пути, только с нужными заголовками.
Проблема в том, как понять, что все запросы уже пришли и тест завершён. Сейчас я использую функцию, которая периодически опрашивает httpserver.ordered_handlers и если их 0 - завершается с успехом. Если прошёл timeout=30, то падает с AssertException.
Но это не True-way. Хочу сообщать с помощью чего-то типа asyncio.Future.


Tishka17
04.03.2019
06:13:48
Хм. А pytest разве не ждёт завершения всех тестов?
Щас ещё раз перечитаю :)
Так, ну тайм-аут тебе по любому нужен

Roman
04.03.2019
06:16:33
Ну да. Просто я хочу не по таймеру дёргать, а наоборот, из httpserver сообщать о готовности. Так красивее и быстрее результат будет приходить.

Google

Tishka17
04.03.2019
06:18:21
Ты можешь наверно сделать чтобы последний обработчик менял condition variable
И в главном потоке ждать его

Roman
04.03.2019
06:20:06
Мне кажется, что решение @cykooz с queue.Queue красивее и меньше кода.