@ru_python

Страница 6046 из 9768
Max
27.07.2018
16:29:01
Есть код insertRow = "INSERT INTO " + tableName + " (" + str(colHeadName) + ") VALUES (" + vCell + ");" cursor.execute(insertRow) В консоль печатает синтаксически верный инсерт для mySQL, но cursor.execute(insertRow) не исполняет его.

Mike
27.07.2018
16:30:04
neo
27.07.2018
16:30:37
пишу сайт на джанго и задумался о мобильном приложении. в мобильной разработке нифига не шарю. вопрос такой: можно ли будет воспользоваться бекендом, написанном на питоне, чтобы написать приложение на андроид? или как вообще можно это сделать, написать приложение для чего-то типа TripAdvisor?

Google
Vasia
27.07.2018
16:31:06
А кто небудь роботал с Spotify-dl?

Denis
27.07.2018
16:32:17
Привет,В чем принцип ООП ? Читаю не пойму нифига
Инкапсуляция, передача сообщений, позднее связывание

neo
27.07.2018
16:32:53
Можно с бека отдавать джейсон какой-нибудь
получается при написании сайта я должен это учесть, чтобы потом новых костылей не строить?

Димон
27.07.2018
16:33:25
Инкапсуляция, передача сообщений, позднее связывание
А какое передача сообщений и позднее связывание имеют отношение к ООП?

Димон
27.07.2018
16:34:41
Denis
27.07.2018
16:34:57
В питоне позднее связывание не так заметно, а в других языках полиморфизм и виртуальные методы именно это и делают

neo
27.07.2018
16:35:31
Anatoly
27.07.2018
16:36:12
А какое передача сообщений и позднее связывание имеют отношение к ООП?
Функционального программирования достаточно ?

Denis
27.07.2018
16:36:44
В функциональном программировании тоже объекты бывают

Google
Denis
27.07.2018
16:40:44
В императивной парадигме оно тоже вполне доступно. Без ООП
Для него нужны интерфейсы в каком-то виде

Max
27.07.2018
16:41:15
Повторюсь Есть код ``` insertRow = "INSERT INTO " + tableName + " (" + str(colHeadName) + ") VALUES (" + vCell + ");" cursor.execute(insertRow)``` В консоль печатает синтаксически верный инсерт для mySQL, но cursor.execute(insertRow) не исполняет его.

Denis
27.07.2018
16:41:50
Это все-таки про объекты, а не про функции

Димон
27.07.2018
16:42:36
Для него нужны интерфейсы в каком-то виде
прототип функции тоже катит. Вон, в лиспе можно. https://en.wikipedia.org/wiki/Late_binding#Late_binding_in_Lisp

Да по сути ссылка на функцию в С - это тоже late binding.

Max
27.07.2018
16:42:54
Может коммит забыл?
А если без сложных терминов :) Подключение к базе есть, таблица создана.

Tishka17
27.07.2018
16:43:07
Какие сложные термины?

Поработал с базой, закоммить

Димон
27.07.2018
16:43:39
Anatoly
27.07.2018
16:43:39
Кому? Мне нет)
ООП юзаешь ?

Димон
27.07.2018
16:43:49
Но кто так пишет без ООП?
Лисперы, кложурщики) Ну у меня на С такое бывало.

Denis
27.07.2018
16:44:32
На С вполне можно писать в объектно-ориентированном стиле

Tishka17
27.07.2018
16:45:09
Можно ооп сделать на си

Google
Denis
27.07.2018
16:45:30
Если ты куда-то передаешь данные вместе со ссылкой на функцию, это повод задуматься, не лучше ли будет сделать класс

Димон
27.07.2018
16:45:54
Можно ооп сделать на си
отдалённое приближение ООП, скорее

Ну и в С класс не сделаешь

Tishka17
27.07.2018
16:47:23
В си есть структуры и указатели

Denis
27.07.2018
16:47:37
а функции высшего порядка?
Тут уже цель другая

Димон
27.07.2018
16:48:03
Согласен. Но факт, что late binding применяется не только в ООП. И факт, что чаще в ООП

Egor
27.07.2018
17:06:33
Кто знает как остановить потоки? Делал по этому примеру:https://stackoverflow.com/a/2846695/9521448. Как остановить их с выдачей result!?

Egor
27.07.2018
17:09:51
Я знаю, но проблема в том, что остановятся они через 10 часов(мноопоточный парсер). Хочется увидеть result\

Сергей
27.07.2018
17:10:44
Ну и в С класс не сделаешь
ну были всякие костыли-костылики на макросах например

Denis
27.07.2018
17:11:17
Я знаю, но проблема в том, что остановятся они через 10 часов(мноопоточный парсер). Хочется увидеть result\
result там возвращается только после завершения потоков, как ты его раньше получишь?

Egor
27.07.2018
17:11:46
Вот именно

Denis
27.07.2018
17:12:36
Можешь, конечно, брать те данные, которые уже посчитались, но они будут неполные

Egor
27.07.2018
17:13:00
Но есть крайний случай. Отрубить wi-fi. Выдает ConnectionError, потоки закріваются, result выдается

Denis
27.07.2018
17:14:03
Сделай очередь или еще что-нибудь и туда клади результаты по мере вычисления

Egor
27.07.2018
17:16:58
Хз

Google
Сергей
27.07.2018
17:17:06
GIL никто не отменял

Egor
27.07.2018
17:17:21
Я с потоками знаком не больше 3 часов

ivan
27.07.2018
17:18:11
Что ты там парсишь такое 10 часов???

Мне кажется, у тебя что-то не так с самим кодом и потоки/процессы тут не причем

Записывай result куда-нибудь после каждой спарсенной страницы

Admin
ERROR: S client not available

Donaudampf
27.07.2018
17:19:56
пару недель назад разбирали потоки, очереди, пулы, распихивание задач и сбор результатов, можно где-то в тех окрестностях почитать: https://t.me/ru_python_beginners/324692

Egor
27.07.2018
17:20:30
Что ты там парсишь такое 10 часов???
habr. Отпарсил 482 гига и толькочто сервер хабра послал меня

Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера

Что ты там парсишь такое 10 часов???
Кстати с потоками это за час отпарсил

Немного больше полвины страниц хабра, кроме песочницы

ivan
27.07.2018
17:22:32
Ну, я просто рекомендую после каждой страницы писать резалт Чтобы не ждать окончания работы, чтобы хоть что-то получить

Egor
27.07.2018
17:22:47
Можно как-то заставить скрипт пахать и игнорить огибки типа "соединение разорвано"?

Donaudampf
27.07.2018
17:23:09
обработка исключений же

ivan
27.07.2018
17:23:11
Try except

Сергей
27.07.2018
17:23:49
Можно как-то заставить скрипт пахать и игнорить огибки типа "соединение разорвано"?
таймаут подключения от сетевого стэка придется ждать но его можно уменьшить

Серж
27.07.2018
17:23:53
Лучше отдели получение того что парсить от самого процесса парсинга

ivan
27.07.2018
17:24:14
Except: pass Except: logger.write(exception) Как хочешь

Google
ivan
27.07.2018
17:25:59
таймаут подключения от сетевого стэка придется ждать но его можно уменьшить
Да, кстати, тайм-аут сделать тоже норм Типо, нет ответа за n секунд - пропускаем страницу

Сергей
27.07.2018
17:27:21
минут на 10 по дефолту легко зависнуть

Egor
27.07.2018
17:27:50
Буду читать.

Сергей
27.07.2018
17:27:58
или сколько там было

таймаут между попытками * кол-во попыток

Egor
27.07.2018
17:29:25
Ну, я просто рекомендую после каждой страницы писать резалт Чтобы не ждать окончания работы, чтобы хоть что-то получить
Код вглядить так :thread1 = SummingThread(pages_for_threads[0][0],pages_for_threads[0][1]) thread1.start() thread1.join() result = thread1.bytes +thread2.bytes+ ..+ ... . В summingThread сам парсер. Только записывать в файл. Ибо каждый потом имеет свое значение .bytes

Серж
27.07.2018
17:29:39
Сделай на ивентлупе, зачем в пистоне потоки когда гил есть?

Влад
27.07.2018
17:29:49
Ещё как вариант, подрубать прокси после N попыток.

Сергей
27.07.2018
17:30:32
ivan
27.07.2018
17:30:38
А как так сделать?
Если ты делаешь запросы через либу requests, то там есть про таймауты в документации

Серж
27.07.2018
17:30:49
Оверхед на процессы

ivan
27.07.2018
17:30:49
А как так сделать?
http://docs.python-requests.org/en/master/user/quickstart/#timeouts

Egor
27.07.2018
17:30:55
Сергей
27.07.2018
17:31:19

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