David
yield
спасибо
Роман
всем привет. кто-нибудь работал с потоками?
Tishka17
Всем привет! Подскажите плз, есть текст с комментариями, хочу найти начало коммента(номер строки и номер символа в строке) но не знаю как вернуть значение в цикле...если вместо return ставить print то он выводит всё что есть, а return только первое вхождение...
Если надо в цикле добавлять значения к возвращаемому у тебя есть три варианта: 1. Накопить их в список, потом вернуть 2. yield (гуглим генераторы в питоне) 3. callback функция на каждую строку (не надо так)
Oleg
Ребят, есть ли какой-нибудь аналог псевдотерминала для винды?
Anonymous
Qemu вроде. Посмотри у хауди урок последний про питон, он про этот терминал говорит
Tishka17
я думал про 1 вариант, но не знаю как реализовать, про yield не знал
filtered_lines=[] for xxx in blablabla: filterled_lines.append('somtethimg')
Роман
в ответ тишина ...
Anonymous
Бляха. Снова память подводит на названия буржуйские
Tishka17
в ответ тишина ...
На метавопросы тут не принято отвечать
Tishka17
Ни разу в жизни не приходилось самому создавать псевдониминал
Tishka17
скинуть исходник?
Задач вопрос нормально
Oleg
А тебе зачем?
Да всё с той же проблемой. Получать состояние псевдотерминала в линуксе я научился, а вот получать состояние консоли в винде - нет. Всё это на питоне пытаюсь реалиовать
Anonymous
в десятке есть WSL и норм терминал
Когда юзал винду (семерка) тоже искал аналог линуксовского терминала
Роман
нужно ускорить парсер. парсер загружает картинки. но не получается у меня пока его ускорить. загрузка идёт по очереди
Tishka17
А вообще, ThreadPoolExecutor глянь
Oleg
в десятке есть WSL и норм терминал
Не, меня именно интересует аналог таких действий: запуск консоли и получение потоков ввода-вывода, чтобы работать с ней
Anonymous
нахуа, если можно взять линукс?
Больше года уже на линухе
Alex
А вообще, ThreadPoolExecutor глянь
а ведь можно взять asyncio
Alex
вот пример
а теперь марш на pastebin
Alex
нехер сюда файлы аттачить
Oleg
А зачем тебе именно псевжотерминал?
Мне кажется, только с помощью него можно получить полностью поток ввода-вывода при запуске терминала/консоли
Tishka17
И что за "запуск консоли"?
Alex
@Tishka17 зы… эпопея с сокетами продолжается. Сегодня рано утром Маркуша опять нес какую-то хуйню. Он зачем-то пихал O_DIRECT в setsockopt и получал неожиданные результаты. Мож забанить его от греха подальше? А то чай не сдержусь в следующий раз.
Oleg
И что за "запуск консоли"?
Ну обычный cmd в винде
Tishka17
Ну обычный cmd в винде
А при чем тут псевдотерминал?
Alex
И что за "запуск консоли"?
отправь их к зарту. у него иммунитет на наркоманов
Tishka17
Вообще нет
Tishka17
это для линукса
https://m.habr.com/ru/post/420853/
Tishka17
чойта не надо? бывает вполне надо.
Как правило генераторы делают то же самое, но читаемее
Alex
если надо просто вернуть да, а вот если обработать и вернуть результат аля map?
Tishka17
map(smth, generator())
Alex
нююю, я все равно не вижу достаточных причин не использовать callback там где это удобно.
Tishka17
это для линукса
Короче, грубо: псевдотерминал это виртуальной устройство, в винде аналог создаётся через console api. Cmd - это интерпретатор команд, как bash. А окошко в котором открывается отображается терминал - это вообще третья сущность
Роман
ссылка https://pastebin.com/jHawY6qL
Tishka17
ссылка https://pastebin.com/jHawY6qL
for i, t in enumerate(thread_list, 1):         product = q.get() Меня смущает вот это
Tishka17
То есть в винде я не смогу получать всю информацию, что появляется в этом окошке?
Эм. Забыл четвертый пункт: потоки ввода вывода - это часть того, что делает терминал
Tishka17
почему? что я делаю не так?
Это блокирующий вызов
Tishka17
Хотя очередь вроде бесконечная
Oleg
Эм. Забыл четвертый пункт: потоки ввода вывода - это часть того, что делает терминал
А потоки ввода-вывода для консоли через console api надо получать?
Роман
дело в том, что ф-ция get_product возвращает много значений
Роман
я оставил только загрузку картинок для примера
Oleg
что ты пытаешься сделать?
Полная эмуляция терминала - у меня получилась, используя псевдотерминал. Полную эмуляцию консоли у меня сделать не получилось
Denis
Guys, кто что может посоветовать для работы с VNC? Мне нужно проверить доступность компьютеров в сети, чисто принимает ли авторизацию
Oleg
Цель какая?
Перенести полностью терминал на pyglet, ну и консоль тоже надо попробовать перенести
Tishka17
что посоветуешь?
Советую в треде вывести принтом результат и сравнить с тем как ты их получаешь
Tishka17
что посоветуешь?
Короче, у тебя возможнп такая ситуация: 10 тредов. 10й закончил работы и положил результат в очередь Ты в цикле взял первый тред, получил из очереди результат 10го и завис в ожидании первогл
Oleg
Зачем?
Пытаюсь написать игру, в которой можно полностью попробовать себя в роли админа - с помощью докера можно поднять контейнеры и подключаться к ним, но нужно реальное представление консоли и терминала
Tishka17
А. "Подключаться"
Tishka17
Докер у тебя будет реальный?
Oleg
Это скорее образовательная игра