Это копия, сохраненная 14 июля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Код вбрасывать в тред через https://ideone.com/
Прошлый: >>763449 (OP)
Кто сколько kk в наносекунду зарабатывает?
Такое выражение оставит файл открытым?
Алсо если нет. то получается, то gcведь в питоне есть gc, да? удалит объект, и при его удалении вызавится метод закрытия, я правильно понял?
Да, файл останется открыт, но gc удалит объект и закроет его.
Ещё пара вопросов по Торнадо от новичка:
1) Асинхронный метод выполняется в основном потоке программы, там как раз и действуют лёгкие потоки и epoll/kqueue, так?
2) Если операция блокирующая она таки заблокирует весь IOloop?
3) Какие операции блокирующие, какие нет? Торнадо, я так понимаю, предоставляет набор неблокирующих операций, в т.ч. драйвера к бд и т.д., а чтобы самому написать таковую надо спускаться на уровень Си?
target = soup("tag", {"name_class": "value_class"})
target[0].get('href'))
target[0].text
1) Да
2) Да
3) Блокирующие все, кроме тех, что вызываются с await (в торнадо не знаю как это выглядит в данный момент)
Ошибка оказалось простой
>row = curs.fetchone()
Я помещал внутрь цикла, а надо было над циклом.
Короче row = curs.fetchone() должен быть все же внутри цикла, если вынести за пределы, то случится бесконечный цикл. Но счетчики внутри цикла работают. Сама парадигма - неверная. Я от неё ушёл. Анон в предыдущем тренде сказал мне умную фразу и это привело к созданию рабочего кода. Первый шаг узнает сколько рядов в таблице, второй шаг считывает линки из базы для проверки, третий шаг ряды из первого этапа используются в лупе до окончания списка, в этом лупе происходит обновление базы. Как-то так, но работает исправно.
Спасибо.
Мне вот заказчик говориn спарсить дохуя хуйни за мало времени, мне же не надо будет ебаться с какими-то там настройками, просто пишу че откуда парсить и всё?
Так асинхронщина эта работает сразу, без дополнительных настроек? Или по умолчанию всё медленно проходит через очередь?
да, сразу, там вроде есть параметр, сколько запрососв конкуррентно обрабатывать
Бля, вот это охуенчик.
эт те в раби тред
у нас тут счет на мм
спс
mysql 5
Спасибо. У меня тоже win10
На гитхабе. Или просто коммить в то, чем пользуешься. На линуксах оче нмого тулз так или иначе завязаны на питон. Мой первый коммит был в wicd, например.
С чего бы начать? Так то я вообще не в теме, вебинаров ни единого даже не посмотрел.
>UnboundLocalError: local variable 'cd' referenced before assignment
Это блять пиздец.
Берёшь компилируемый язык и делаешь, а не натягиваешь сову на глобус пистоном.
Учить, очевидно же.
если a — falsey, то переменная cd не создастся. В return'е, однако, cd запрашивается всегда.
Чтобы освоить питон не нужны курсы. А если нужны, то тебе не стоит программировать.
Половину года в проект не заглядывал, а теперь понять нихуя не могу, как оно работает.
пичарм так умеет вроде
>все что мне нужно от этого списка это возможность добавлять/удалять и узнавать есть ли элемент в списке
используй set же
Я кстати Джанго бай экзампл добил недавно, хочу поделиться небольшим наблюдением: книга годная, но преимущественно рассказывает как пользоваться батарейками Джанго и сопутствующих технологий, хоть и вполне подробно, а не просто "для вката". Короче годнота, если даже просто перепишешь все дерьмо что в ней есть по-любому научишься основам, но остальное будет отвлекать только.
Из того что я для себя нашел по обучению джанге - годнота просто брать чужой код на гитхабе, простой насколько возможно и удобно текущем уровне, и переписывать вдумчиво читая документацию и дописыаая свои велосипеды по мере поступления идей.
прописываю я значит методы для класса пик 1. Проверяю как работают пик 2. Выдает результат пик 3 . Затем меняю местами операции - сначала вычитание, затем сложение. пик 4
И на выходе меня ждут совсем другие результаты пик 5 прикреплю к следующему посту, спасибо Абу. Почему?
>>772221
короче как сделать так, чтобы эти математические операции не меняли сам изначальный экземпляр класса?
>>772236
Везде, где ты делаешь "self.ch = " ты меняешь этот экземпляр класса(или другой если other.ch = ). Храни новые значения во временных переменных "new_ch =". Ну и возвращай результатом не этот экземпляр (return self), а новый "return Fraction(new_ch, new_zn)"
Только что об это задумался. Теперь придется переделывать 200+ строк кода =_=
Да я тоже пытаюсь менять кое-что по своему усмотрению. В формах там, в страницах. Но вот взял сейчас код, вписал как в книге а он тупо не работает. Хоть пропускай этот Search Engine. Сука.
У меня косяки были дальше, с букмарклетом для парсинга картиночек. Код в книге просто не работал, отсутствовала буквально пара строк, которые я нашел на гитхабе какого-то хохла и которые он видимо сам и дописал.
Поисковик этот явовский прикрутился без проблем.
У меня с комментариями были проблемы. После отправления формы оставались заполненными и при перезагрузки страницы коммент постился снова. Сам изобретал. Может он спецом, лол. Так люди лучше разберутся.
После успешного post запроса нужно делать редирект - это общее правило для веба.
Я очень страдаю что ничего типа Синк Пайтон по Джанго нету
Имхо самое оно если есть приложение, листинги к нему полноценные, объяснения чуть избыточные и двадцать заданий что можно сделать еще из которых половина и так на в учебнике рассказано, а для другой половины ты уже знаешь что конкретно искать и остается только придумать как это оптимальнее впихнуть.
Но увы и ах, Синк Джанго что-то никто не берется написать.
https://www.amazon.com/Hello-Web-App-Tracy-Osborn/dp/0986365912?ie=UTF8&tag=tsp0c2-20
>Hello Web App is written for non-programmers by a designer, and will walk you through every step you need before launching your web app live to real customers. No jargon, using simple and friendly language.
>This book doesn't walk you through a specific tutorial, but instead uses a generic example (a collection of things) to allow you to create something using Python and Django that interests you. A blog is a collection of posts, a store is a collection of products, a directory is a collection of people. The possibilities are endless!
Вся эта веб херня постоянно развивается и не все пацаны успевают свои костыли крутить чтобы совместимости сохранить. Вот я два ебался пока не нашел что Haystack 2.4 не тащит Django 1.9 , только 1.8. Как же печет от подобного.
Рассказываю лай фак:
Любая книга и руководство нужны что бы научить тебя каким-то идеям и подходам. С большой долей вероятности зависимость от версий будет небольшой и в случае реального проекта ты спокойно сможешь сориентироваться и сделать как нужно.
Потому в книге сказано накатывай 1.8 - ставь 1.8
Свои поделки без книги пиши уже на актуальной версии.
Я вообще никогда книги не применял, лол. Размусоливают коней в вакууме, только зря время тратил. Все что нужно - читнуть основные концепции, ООП, остальное по мере задач читаешь в доках. Что там
Все переменные в None инициализируй в начале функции, это в целом хороший тон. И твой блок должен отработать верно, я не помню точно, но это известная старая фича/баг.
Так я тоже тупой и бросал чтение книг потому что не мог понять, нахуя мне это всё.
Делать с нуля попутно изучая рили намного легче, чем выполнять какие-то скучные примерчики.
Алсо, насчет говнокода - да, он поначалу будет, но потом ты сам начнешь понимать, что тут перебор и будешь пытаться переписывать лаконично и правильно.
Да я уже разобрался, добавил возврат render и return результатов переместил в тело 2 цикла.
Кстати, а ведь первая идея такой и была
>Все переменные в None инициализируй в начале функции
И да, спасибо.
Сижу на Idea но хотеть чего-то легковесного и функционального. Придется ждать когда Атом напилят...
Пока его настроишь можно на пенсию выйти. Разве что только в полевых условиях через ssh что-то подправить.
Я как-то пердолился в конфиги вим-а. Показалось что не стоит того. Лучше уж атом. Там всё из коробки.
Зощем это подвисающее электроноподелие, когда есть божественный саблайм?
Да как-то не коширно использовать в 2076 не опеносрс редакторы. Это же не ИДЕ-шка.
Да, я еблан.
Это не обрезок студии, а обрезанный атом на таком же электроне. И без вкладок, лол.
Ага, уже посмотрел. Что-то мода на подобное пошла ппц.
А, всё понял. Я просто пьян, не обращайте внимание.
Я передаю из DetailView, в шаблон , объект из модели, полученный через get_object_or_404(). В объекте сохранен html и в шаблоне, я пишу {{model.htmltext}}. Но он не рендерится! Текст появляется с тегами: <h1>w4gwg</h1>. Что делать-то?
Через rendor_to_response посылать переменную с текстом? C DetailView можно это сделать?
И да, и нет. Это типа часть моей работы писать всякое говно, хоть и не основная
Ничего не изменилось.
Да нихуя не получается,второй час сижу.
Опробывал вот эти format_html(), safe_text() и т.п. Формат переменной <class 'django.utils.safestring.SafeText'>, но все равно не рендерится. Моожет быть в поле модели дело? Храню в TextField()
http://stackoverflow.com/questions/18216207/django-passing-html-objects-into-template-as-plain-text Всё делаю как здесь, блять. Ненавижу Джанго, как вы на ней пишите блять. Простое действие вывести из базы хтмлтекст в шаблон, сука!
Блять! Я вчера не тот шаблон редактировал. Всё заработало, спасибо.
>>772556
А, его нет в коде. Так что сделать? Я пробовал сделать так, как написано в выводе, только выходит пустой архив без имени
Саблаймоопущенцам завезли нормальный пакетный менеджер или так же говно жрут? Впрочем, им не привыкать.
Гвидо рекомендует emacs
Проверь, существует ли у тебя директория по указанному пути, а то zip жалуется, что ему архивировать нечего.
Аноны, год назад изучал питон, сейчас, хочу все вспомнить.
Можете подсказать, как это сделать? Перечитать Dive into Python?
Также, после изучения хочу вкатиться в библиотеку numpy.
Есть по ней годные мануалы на русском? Документация не переведена?
Джанго бай экзамл нельзя первой читать. Она годная когда ты прочитал пару книг но не знаешь как самому что то делать, зачем нужны всякие целери, солры, сигналы, редисы, куки и т.д.
Я просто листаю книгу пока не натыкаюсь на что нибудь интересное
А у него разве по-другому?
Мне exe нужно создавать только для передачи проги друзьям. Помнится первые версии Blender требовали, чтобы пользователь у себя поставил змею. Помню еще ругался про себя, нихрена не знал об этом питоне ничего. А сейчас у них уже нормальный exe и dmg. Есть еще игра Ace of spades, мне лично она нравится, по сути майнкрафт с перестрелками. Так вот в файлах почти везде стоит расширение pyc, egg. Успешно продается в сттме
Русские, не русские, любые короче.
На основании чего сгенерит?
Если просто табличку с проксями отсортировать по пингу я бы хуйнул через asyncio через pandas циклом прогнал проверку пинга через os.system('ping .......') или subprocess.Popen('ping ...') и затем пандасом бы и отсоритровал.
Много хочешь. Так-то сидеть и набивать надо, делая парсеры всех встретившихся агрегаторов.
С сайтов скачает.
>>773541
Так какой-нибудь индус или китаец наверняка такое сделал и выложил на гитхаб. Никто не встречал?
Не твоя личная фриланс биржа же.
Реализуйте команду replace. Эта команда заменяет одну строку другой в списке переданных ей файлов.
1) как можна реализовать команду? типа сделать бесонечный ввод как в консоли через while True и вводить replace и параметры заставляя программу работать?
2) > заменяет одну строку другой в списке файлов
строку в списке файлов? что? мб в файлах переданных в списке? Даже если так то что это значит, что если я например имею в файле текст "Сап двач, есть одна тян" и я напишу в программе
replace тян кун
то должно в итоге в файле быть написанно "Сап двач, есть одна кун"?
Implement the replace command. This command will replace one string with another in the list of files provided.
Смею предположить, что имеется в виду команда вида
replace string repl_string file1.txt file2.txt file3.txt
выполняемая в командной строке.
в какой командной строке, в консоле чтол? как это вообще сделать там же баш импользуется, разви что запустить программу и пока она работает написать replace chlen hui vidy_zalup.txt
тобто запускать шкрипт, писать во время его работы
replace bla-bla alb-alb fuck.txt suck.txt
и радоваться замене строк в обеих файлах? или можно поочередно типа для каждого значения делать отдельный импут, если все же первый вариант, то делать через split?
Нет, передавать все эти аргументы во время запуска скрипта, и потом разбирать их с помощью sys.argv или ещё чего-нибудь. Без инпутов. Для наглядности:
python replace.py bla-bla alb-alb fuck.txt suck.txt
Самое тупое решение, которая я смог придумать. Не уверен, что работает:
import sys
import os
os.system("sed -i 's/{}/{}/g' {}".format(sys.argv[1], sys.argv[2], ' '.join(sys.argv[3:])))
Очень большая тусовка на LinkedIn, там есть группы. Перед тем в группе активность проявлять, заполни свой профайл хорошенько. Там много работодателей, они будут в твой профиль и внимательно его смотреть. Мне с LinkedIn периодически приходит предложения о работе.
А я не пойму как на сервере то оно запускается? В пыхыпе просто было - в корень веб-сервера файлы кладёшь - в браузере наблюдаешь.
В голосину
Бля, не туда.
У меня стоит новый питон. Я pip не хочет новые библиотеки устанавливать.
или python3.5 -m pip install libname
Спасибо.
Типо бот лайкает, если лайком не много, юзер идет к тому кто лайкнул и подписывается на него? Значит на аке должен быть контент же.
хз я просто скомпилял его из исходников и поставил в /opt/
Вообще если у тебя убунту то есть https://launchpad.net/~fkrull/+archive/ubuntu/deadsnakes
В 16.04 python3.5 идет по дефолту уже вроде
sudo apt-add-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.5
python3.5 -m pip install libraryname
или сделай virtualenv в котором python3.5 интерпретатор по-умолчанию
Спасибо.
> А я не пойму как на сервере то оно запускается?
Вот здесь очень годно - https://habrahabr.ru/post/272811/
n = x #это списки
sorted (n)
print (n,x)
Почему если я не укажу ссылку для сортед, то никакого сортед не происходит и n и х являются одним объектом?
/t - это какая-та шляпа от вакабы
Лишние плагины выключи.
делай n.sort()
sorted возвращает итератор
n и x и будут одним объектом если ты не скопируешь список например n=list(x) или n=copy(x) из модуля copy или n=x[:]
Подскажите, что за шрифты используются?
То есть функция sorted ничего не меняет в списке, а просто создает другой список, используя первый как аргумент?
> sorted ничего не меняет в списке
Да
> просто создает другой список
Нет, она возвращает итератор. Чтобы получить список можно сделать new_list = list(sorted(old_list))
На кодАкадемии разница есть, если делить например, то во втором случае возвращает только целую часть, а когда у себя запускаю (у меня пайтон 3), то вовращает дробь.
Во втором питоне целочисленное деление по-умолчанию. В третьем // для него есть
У меня на акке фотки города. Там нет рекламы услуг и прочего спама. У меня от силы 80 фоловеров, а у моего друга их тысячи. У него тысячи, потому что он очень активен. Часами сидит в инстаграмме и лайкает.
Забыл поставит слеш в source
как проделывать в питоне? прост сам не программер ниразу в вебах тоже не особо шарю так что прошу как двачеру.
готовый плейлист не скачивается т.к. хуй завторизуешся там
Я в вебе не силен, что посоветуете? Пирамидку или пороховницу? Или стать еретиком в вебтупае?
Я честно не понял суть вопроса. Когда делаю парсер, я нажимаю правую клавишу мыши в лисе и выбирают inspect element, дальше смотрю что вылезло. В змие добираюсь до элемента чаще по xpath.
Почему? Джанга же самая популярная из пистоно веб параши?
ну если пройти по ссылочке http://tuchkatv.ru/5-discovery-channel.html то там в меню плеера можно увидеть кнопку 'add to playlist' при её нажатии выводиться окошечко с контент ид канала, как раз то что мне и надо, затем получив все контент ид я просто составлю плейлист в своем плеере и смогу смотреть это не на сайте. Загвоздка в том что пока не будет нажата эта кнопка контент ид в коде страницы нет. Как симулировать нажатие этой кнопки для того чтобы затем спарсить контент ид канала?
https://github.com/lorien/awesome-web-scraping/blob/master/python.md
здесь посмотри, наверняка найдешь нужный инструмент
http://tuchkatv.ru/playlist.html
А этого недостаточно? Вроде бы специально для плееров список.
Ок, я тебе скажу как, но меня тут зачмырят. Есть такая хрень, которую гугл поддерживает http://www.seleniumhq.org/docs/03_webdriver.jsp
Далее логика такая. add to playlist находишь по xpath, нажимаешь на него при помощи команды .click() Если можно нажать клавишей enter то посылаешь > inputElement.send_keys(Keys.RETURN)
не скачать т.к. не авторизовывает, уже и новый акк делал и все равно не авторизовывает
ну и интересно получить новый опыт написания парсеров, авось пригодиться
Твое дело. Там, случайно, плеер не на флеше? И как id выглядит, может он так на странице где-нибудь присутствует?
2 дня уйдёт на это с нуля.
Пробовал смотреть что отправляется при нажатии на кнопку? сам ебал проверять, там еще нужно ставить какой то ботнет и регатся.
Короче, удалось ли кому-то реально съебать, зная пайтон?
В России, как почитал, все же джава и шарп опережают.
САЙТ МАКСИМАЛЬНЫЙ ССД за 15ть рупий в месяц?
>driver = webdriver.Firefox()
>driver.get("http://www.google.com")
Делаю нечто подобное, и в результате запускается лиса, потом закрывается, открывается вновь и пик, а pycharm выдаёт:
>ConnectionResetError: [WinError 10054] Удаленный хост принудительно разорвал существующее подключение
С фаерволом всё ок.
В чём может быть проблема? Что я делаю не так?
Python 3.5.1+Selenium 2
Пробовал естественно, решения однотипные и сводятся к фаерволу\time.sleep(3)\откату к старой версии и т.д.
Ничего из этого не помогло.
Через хром всё работает отлично, но нужна именно лиса.
Python в последние два года вырвался в лидеры в США. Раньше там джавистов искали. Но на джавистов большие издержки, а змий экономит деньги компании.
Сорян юный падаван, я забыл тебе сказать. У меня тоже на днях отвалилось. Лиса обновилась до очередной беты. И кажется, через каждые 5 билдов нужно обновлять вебдрайвер, чтобы он мог запустить лису. Вебдрайвер до сих пор не обновили. Поэтому ставь стабильную версию лисы. Удали 48 (или 49) версию беты и ставь стабильную 45-ую версия. Она называется сокращенно ESR. Вот тут https://ftp.mozilla.org/pub/firefox/releases/45.2.0esr/
Чему радуешься? Ты владелец компании в сшп?
Жабка и оденет и накормит тебя, а с пистоном ты еще в переходе подрабатывать будешь.
>Ты владелец компании в сшп?
Если у тебя есть свой минимально интересный проект, то ее достаточно легко зарегистрировать, и даже не очень дорого.
Это часто бывает более выгодным чем джава-макакировать в лухософте.
Спасибо огромное, анон, сегодня вечером попробую.
красавец
vps за 90руб/мес.
А можно такую же игру про два стула?
У меня ещё такие есть
>Python 3.5.1 (default, Jun 18 2016, 13:15:45)
>Python 2.7.10 (default, Jun 18 2016, 01:27:00)
А, ну у меня ШТАБИЛЬНОСТЬ в питонах. Проблем ещё не было. Можно конечно побилдить и самый свежак.
Другие ЯП не знаю
А змий не оденет? Недавно одна компания в Нью-Йорке, которая занимается банковской деятельностью, наняла питониста, предложили ему 150 тыс долларов в год. Долго искали, но нашли.
Так кроме форматирования в 3.6 ничего особенно интересного и нет, 3.4 хватает.
Просто так ждать новую версию - идиотизм.
Я и так читаю "Укус"
Странный вы человек. Пока другие программеры на этом бабло рубят, вы удивляетесь новому миру.
Бамп. self пишем для того, чтобы 'x' привязать к блоку кода. Я правильно понял?
class MyClass(object):
def __init__(self, x, y):
self.x = x
self.y = y
Нихуя ты не понял.
my_class_instance = MyClass() # экземпляр класса
Когда вызывается метод, то ему первым параметром передаётся экземпляр класса, т.е. в нашем случае self = my_class_instance. Когда в методе у тебя написано self.x = x, то ты делаешь my_class_instance.x = x
И использование слова self это просто договоренность, никто тебе не мешает написать так:
def __init__(class_instance, x, y):
class_instance.x = x
Тогда не поделюсь, больно многа хочешь
В доках есть вот что: http://gatc.ca/projects/pyjsdl/doc/pyjsdl.mixer.Sound-class.html
__init__ здесь - это загрузка файла? Если нет, то где его грузить?
Если я пишу просто pyjsdl.mixer.Sound.__init__(self, 'путькфайлу/файл.wav', None), выдает ошибку.
(Я, если что, идиот, который знает базовый функционал питона, но вообще не представляет, как музыка закидывается на веб-страницы в жаваскрипте.)
Живо и то и другое. У ткинтера есть еще ttk у ткинтера, он лучше с темами дружит разных ос и его впринципе хватит для не йобы.
__init__ - это конструктор
Тебе нужно вызывать что-то вроде этого:
sound = pyjsdl.mixer.Sound('путькфайлу/файл.wav')
Спасибо, заработало (пока только в Microsoft Edge, но до настройки совместимости с разными браузерами я еще не дошел).
Нужно полный путь к файлу прописывать? Они у меня в одной директории лежат.
Еее, спасибо!
(ответ от нуба)
Код выглядит как правильный. Проверь, может, у тебя строки пустые& (скажем, print(c1) ее выводит?)
Там походу дело было в том, что папка с файлами была кириллицей написана. Переименовал - все заработало. Теперь возник другой вопрос - как мне считывать с файла построчно? Типа одна переменная - одна строка.
Если ты не хочешь придумать свою сериализацию, то используй модуль pickle или json.
И с файлами лучше работать так:
with open('char.txt', 'w') as f:
for line in f:
print('fuck')
Так у тебя файл будет закрываться автоматически при выходе из блока with, да и лишние переменные не будут создаваться.
Индексирование линий в такой вот конструкции :
with open(fname) as f:
content = f.readlines()
идет с нуля или единицы?
Мне проще в txt делать, вот честно
Списки индексируются с 0. Иди читай доки, в них все есть.
json - это только метод сериализации.
>>> test = {'q': 1, 'w': 2, 'e': 'qweqwe'}
>>> import json
>>> with open('test.json', 'w') as f:
... json.dump(test, f)
...
>>> with open('test.json', 'r') as f:
... data = json.load(f)
...
>>> data
{u'q': 1, u'e': u'qweqwe', u'w': 2}
Хорошо, мне нужно замутить меод для класса, который будет сохранять параметры обьекта в файл / загружать эти параметры из него. Как мне это реализовать?
Ну для начала можно примерно так:
>>> class Test:
... def __init__(self):
... self.hp, self.mp, self.lvl = [0]*3
... self.params = {'hp', 'mp', 'lvl'}
...
>>> t = Test()
>>> d = t.__dict__.fromkeys(t.params, 0)
>>> import json
>>> with open('char.txt', 'w') as f:
... json.dump(d, f)
А вообще, покури паттерны какие-нибудь, тут алгоритмам тебя никто учить не будет.
знамЕнатель
> def __abs__(self):
> .... """Return the magnitude of the vector."""
> .... return self.pts |> map$((x) -> x2) |> sum |> ((s) -> s0.5)
Революция нахуй
Студенческая поделка, даже раскапывать не стоит, но годный питонокомпелятор это был бы вин.
Васян видимо не осилил различия между 2 и 3 или захотел еще больше сахара в одной строке, что само по себе уже не python-way.
random - это же не зарезервированное слово?
Какого хуя в третьем питона mygovnomodule.random() выдает TypeError: 'module' object is not callable?
В 2.7 с этим все норма. Почему? Нахуя тогда все эти названия модулей через точку прописывать? Тут же нет неопределенности, какой именно random я хочу.
> Какого хуя в третьем питона mygovnomodule.random() выдает TypeError: 'module' object is not callable?
Потому что ты нагавнокодил какой-то ебалы в своем govnomodule.
И это действительтельно так. Там случайно затесалась строка import random. Причем, именно после определения функции random. Ее удаление решает проблему. А если ее поставить перед функцией - проблема не возникает, но зато нельзя вызвать ничего из модуля random.
Видимо, не стоит называть объекты с именами модулей из стандартной библиотеки.
почаны, вы скидывали мне как-то сайт с переложением СИКП на пистон, скиньте еще раз! суки
Не совсем понятно, о чем ты говоришь. Если про редиректы, то там тела страницы нет.
В любом случае, можно использовать HEAD вместо GET.
Грубо говоря,
r = requests.get('https://somesite.com/random')
возвращает каждый раз разные страницы. Нужно выдирать из их URL кое-что.
Разве r не будет содержать тело страницы? r.text же выдает все содержимое. Которое вообще не уперлось.
r.head то что надо, спасибо.
Ох, как же я не допёр, ппц. Спасибо тебе.
Хотя, я поторопился радоваться. requests.head('https://somesite.com/random') возвращает url 'https://somesite.com/random', а вовсе не то, на что должно было перекинуть.
Так а как возвращается url новой страницы - просто перенаправляет куда-то или в теле страницы адрес?
Перенаправляет. И нужно получить url того места, куда перенаправило, не загружая ничего лишнего.
Ты просто не туда смотришь:
>>> import requests
>>> r = requests.head('http://2ch.hk/pr/res/770407.html') (М)
>>> r.headers['location']
'https://2ch.hk/pr/res/770407.html' (М)
Ты только учитывай, то, что тебе тут насоветовали не обязательно возвращает конечный урл, т.к. дальше может быть еще один редирект.
Да не, там его не может быть. К тому же, функция у меня залуплена, чтобы проверять до тех пор, пока не выдаст нечто конечное.
Да, тоже вариант. Я наверное очень пиздоглазый, если не увидел всего этого в документации. Так даже лучше.
>action="."
Может поэтому? Тебе ведь нужно передавать данные во вьюху с поиском, а ты передаешь, как понимаю, на простую страницу.
Если не так, то опиши подробнее, что ты вообще делаешь, что за форма, когда работает и не работает.
Хочу поместить форму поиска на сайдбар(пик3) но выходит пик4
Я менял во въюхе второй return на страницу с сайдбаром.
>action="."
Убрал, результат тот же.
Надо не убрать, а указать в action адрес страницы, которая у тебя поиск производит. Что-то вроде
action="{% url "blog:post_search" %}"
Видишь ли в чем прикол, сама форма
>form
не отображается вообще нет поля ввода
>query
всё остальное фигня.
Это типо список из функций, методов и т.д.?
Что тогда происходит внутри
for x in dict:
...print(x)
?
gnuplot
И вообще, учитывая вот это вот
>dict_keys не индексируется
Можно ли извлечь из БОЛЬШОГО словаря случайный элемент, не преобразовывая в список?
Типа как
next(iter(dict))
быстрее, чем
list(dict)[0]
?
pygame последняя версия вышла 7 лет назад, на вин10 знатно глючит, как-то бесперспективно изучать pygame
В декораторе.
Ключи в любом случае должны быть уникальными.
Если тебе нужно, чтобы сохранялось старое значение - проверяй перед вставкой ключ на наличие.
Ещё учусь и проходил задачу: надо было циклом for запилить комбинирование слво из двух списков в один
Оригинальное задание было здесь:
https://youtu.be/9nmpW8rWqJc
Я его сделал.
Решил попробовать с тремя списками и у меня получается какая-то хуйня.
https://ideone.com/3SiVem
Я понимаю, что могу бежать впереди паравоза, но хотел бы спросить: что я делаю не так и почему получается неработающая хуйня, вместо 27 комбинации?
Во-первых, никогда не используй зарезервированные слова/классы в качестве имён переменных (list, tuple, dict и т.д.)
Во-вторых, там хер знаёт чего у тебя понаписано, особенно elif len(list)>8: Откуда цифра 8 взялась? Никогда не суй подобные константы, опирайся на имеющиеся данные (сумму длин списков или что ты там хотел).
В-третьих, зачем ты insert используешь, если есть человечкий append, просто добавляющий в конец? Тебе ведь именно это и нужно.
В-четвёртых, посчитай, сколько раз у тебя вызывается твой самый вложенный код. 27
В-пятых, ты перемудрил, очень перемудрил. Всё, что тебе нужно, это пройтись по индексам [0, n], где n - длина любого из твоих списков (предполагается, что все они одинаковой длины, иначе всё сломается и нужны дополнительные условия).
В-шестых, брось этот урок. Итерироватсья по элементам, зачем вручную инкрементировать индексы, да ещё и зачем-то два разных, когда они всегда равны друг другу, при этом сам 'item' так и не используюя. Пиздец полнейший.
https://ideone.com/3VrpHt
Вот тут "красивое и элегантное" через zip, а также очевидное через луп.
Третий вариант с разными длинами, где списки зацикливаются.
Промотал видео и, если честно, не понял, что он вообще сделать-то хотел, хуйня какая в конце. Каждый элемент с каждым связать, что ли? Тогда там 4-ый вариант, делающий как раз это.
В четвёртом и пятом пунктах могу ошибаться, так как не совсем верно понял условие задачи изначально. А также с "равными друг другу индексами" поспешил.
Решение на видео, однако, всё равно считаю идиотским.
Ну и, собственно, его задачу в три строки я переписал (там же, в конце). С двумя разными порядками, для наглядности.
Позволь разобрать тобой написанное:
Во-первых, а почему тогда ideone никогда не ругался на список list?
Во-вторых, это я решил упростить условие для elif, т.к. заведомо знал, что по окончанию "комбинирования", "длинна" списка будет составлять 9 элементов. Так-то я бы потом убрал, если бы разобрался с проблемой.
В-третьих, я ещё не обучен этому, лол. В уроках был только insert. К тому же, у него же получается большее количество возможных применений.
В-четвертых,
>посчитай, сколько раз у тебя вызывается твой самый вложенный код
я_кот_а_не_архитектор.жпг
Я не знаю, как это считать. Ты имеешь ввиду, когда тело for a in first проверяется?
В-пятых, не, они разной длинны в примере на видео.
В-шестых, я не совсем понял тебя. Там суть урока была в том, чтобы сделать комбинацию из всех имен и фамилий (то, что написано у меня в списках - так. хулиганю немного), используя два уже имеющихся списка.
>Каждый элемент с каждым связать, что ли? Тогда там 4-ый вариант, делающий как раз это.
Ага.
И я правильно понимаю, что тут https://ideone.com/blSBa4 только эти два решения я могу пока понять, лул ты спользуешь свойство for, т.к. этот цикл перебирает все элементы, поднимаясь "снизу" вверх%% я смог реализовать свою "задачу".
https://ideone.com/6sw24m
>Во-первых, а почему тогда ideone никогда не ругался на список list?
Потому что это не запрещено. Но это может сильно подпортить жизнь, а смысла в этом никакого, так как есть миллион других синонимов.
>Так-то я бы потом убрал, если бы разобрался с проблемой.
Ну хорошо. Хотя лучше изначально это не делать.
>В уроках был только insert
Ну хуёвые уроки, чо тут скажешь. Что там в предыдущих 23-то, блин, было?
>Ты имеешь ввиду, когда тело for a in first проверяется?
Да (только выполняется, а не проверяется). Но на этот пункт забей, я не так понял задачу сначала.
>ты спользуешь свойство for, т.к. этот цикл перебирает все элементы
А что, в уроках не было рассказано, что цилк for делает, но он его использует?
>поднимаясь "снизу" вверх
Што? Ничего никуда не поднимается. Просто при каждой итерации внешнего цикла внутренний выполняется снова n раз.
https://ideone.com/OFcRsz
d[key] = value?
plotly
[CODE]
world = TurtleWorld()
def square(t):
t = Turtle()
for t in range(4):
fd(t, 100)
lt(t)
square(bob)
wait_for_user()
[/CODE]
Питон ругаеться, говорит, NameError: name 'bob' is not defined. Это почему же так?
Покажи пальчиком, где у тебя тут определяется bob.
>def square(t):
>t = Turtle()
Нафига просить аргумент, которые всё равно тут же на помойку выбрасываешь и переназначаешь? А если for луп внутри функции, то и это, новое значение, тоже не используется.
Хренота какая-то понаписана.
Там как-то типа bob = Turtleword.turtle инициализируется, а ты это где-то посеял
Удали python.
>>776735
Я все понял, спасибо. Думал что можно в функцию запихнуть чтобы каждый раз не писать боб - это черепашка.
"Каждый раз" - это когда?
Эта хрень с неиспользованием аргумента в фукнции, кстати, в каких-то ответах даже присутствует https://en.wikibooks.org/wiki/Think_Python/Answers#Chapter_4
Может кто объяснить, в чём смысл?
Там в настройках можно включить степень глубины проверки.
На ютубе найди видос бизли, где он с нуля всё рассказывает. Ещё захочешь.
f.write(line)
Толстячок.
Ты сделал бы все то же самое на любом другом из сотни динамических языков. И еще сотне статических - кроме, может быть, ассемблера и С++.
Из песка можно дом построить хорошенько потрахавшись с ним. Кирпичами можно гвозди забивать.
Расскажи мне как изменился бы твой код если бы вместо Пистона ты взял Ruby, Perl, Lua, Lisp, JavaScript, Bash?
Олигофрены вечно набигающие в тред перднуть о том, что якобы по их мнению лучше было бы на их любимом языке писать - знайте - нам очень важно ваше мнение, оставайтесь на линии
45 строк у меня случилось из-за дополнительных требований. Вы вообще плохо понимаете суть задачи. При прямом доступе к его сайту, я мог бы сократить код до 20 строк. У Ruby синтаксис не позволит сделать короче. Ruby хорош тем, кто спрыгивает с пэхапэ. Для них этот синтаксис как бы роднее. Perl, вы бы еще кресты вспомнили, турбопаскаль, вижуал бейсик :) Короче, кончай меня троллить. Я уже достаточно навоевался в священных войнах Ruby vs Python.
>Питон - идеальный язык для решения текущих проблем. Что тут спорить?
>Perl - идеальный язык для решения текущих проблем. Что тут спорить?
>Bash - идеальный язык для решения текущих проблем. Что тут спорить?
>Lisp - идеальный язык для решения текущих проблем. Что тут спорить?
>Lua - идеальный язык для решения текущих проблем. Что тут спорить?
>JavaScript - идеальный язык для решения текущих проблем. Что тут спорить?
>Вы вообще плохо понимаете суть задачи.
Наверное потому что она плохо описана?
>>На Ruby он был бы точно такой же
>У Ruby синтаксис не позволит сделать короче.
С чем спорим?
>Perl
Чем же конкретно он не подходит для этой задачи? CPAN слишком велик, глаза с непривычки разбегаются?
Утверждение о том что питон - идеальный язык, несравнимый ни с чем, остается в силе?
Но я хотел проникнуться всеми преимуществами идеального языка, несравнимого ни с чем. Почему ты отказываешься их показать?
Перестань. Спор бесполезен как и о несравнимости языка, так и о "45 строках". Нет ни задачи ни решения, хотя было бы интересно попытаться решить какую-нибудь небольшую задачку на разных языках и сравнить.
Кстати, при подсчёте строк принимаются в расчёт сторонние библиотеки или нет? А то так можно и в одну строку всё уместить.
Если вести спор конструктивно, а не в тональности "ойвсё!", в которой ты пытался это делать, то он может быть очень полезен.
Небольших задачек и решений их на разных языках полон Интернет.
Количество, качество и легкость использование библиотек всегда считались положительными показателями языков программирования, а не наоборот. Если твою задачу можно уместить в однострочник на bash, что же в этом будет плохого (для тебя, не для несравнимости Питона)?
Вот вчера мне предложили очередную работу. Зарплата over $120K в год. Предложение пришло в linkedin
Я не он, очевидно же.
Они всегда такие эссе выписывают? Анивэй ты-то помимо пистона еще миллиард хуйни всякой знаешь.
Конвертнуть капчу в грейскейл и отправить в tesseract может и bash, конечно.
Может и сам ее сделать, выдать и проверить результат https://github.com/TomConlin/recaptcha-in-bash/blob/master/cgi-bin/captcha.sh
Ок, вот тебе конкретная задача. Давай сравним. Залогинься в https://steamcommunity.com Пройди двойную авторизацию. Вторая авторизация на телефоне, нужно ввести капчу на телефоне. На питоне - это занимает 7 строк.
В прямом смысле этого слова. Ты наблюдаешь как браузер сам нажимает на кнопки, скролает, пишет комменты, лайкает, набивается в друзья.
У меня в профиле написано, что я только питон знаю. Другие языки я пока не указывал. Так как я сейчас занят, а хедхантеры постоянно пишут, ищут питонистов усердно.
И о каком конкретном механизме управления браузером идет речь? Какую именно питоновскую библиотеку ты имеешь в виду? Браузером можно управлять различными способами.
>>777311
На Нокии 3310?
Ты сейчас имеешь в виду под "пайтон умеет" selenium или что-то подобное? Только не говори, что ты именно таким образом постил новости.
Один раз авторизовываешься, проходишь все капчи вручную и сохраняешь кукизы. В следующие разы авторизоваться уже не нужно.
Это умеет самый примитивный curl, который ты дергаешь из bash. Можно и руками отправлять, заголовок дописать несложно в реквест, но некрасиво.
Bash must have to know and use. But Python is my favorite language. That's it.
API есть двух типов. Для утвержденных ботов от больших сайтов - получаешь доступ ко многим вещам. И ограниченный API со множественными ограничениями. Борятся с ботами.
Страшные вещи там творятся.
Я думал, ты и капчу разгадываешь и с телефона как-то код забираешь, а оно вот как >>777329 Тоже вариант.
Так всё-таки, как ты новости постил на сайтик?
Через selenium Не знаю почему здесь столько хейтеров selenium. Настоящий браузер, благодаря этому прекрасно обходит антибот защиты. Хотя paypal каким-то образом меня детектает, требовал капчу вводить пару раз, потом перестали требовать, они видят, что я делаю только законные действия через них. Есть плюс в оформлении новости на вебсайте. Бот вводит всю инфу, прикрепляет фотографии. На последнею кнопку поста не нажимает, дает убедится, что все правильно оформлено.
Дело все опять в волшебном селениуме, а совсем не в волшебном Питоне.
И почему я не удивлен?
https://github.com/jfriesse/selenium-bash
@
2to3
@
3to4
Ну так пиши в баш-треде. Чего тут забыл? Я на питоне практики набираюсь. Вдобавок на винде сижу.
Зачем же ты рассказываешь что Питон обладает волшебными пузырьками, несравнимыми ни с чем?
Божественнее брейнфака уже ничто не может быть божественным.
Я думаю, что хейтят не сам selenium, а его использование не по делу. Вот, например, в твоем случае, как мне кажется, раз есть доступ к админке, и постишь ты новости через неё, то нужен всего лишь post-запрос. А по поводу "в три строки на питоне", все-таки на стоит так, ведь мы можем быстренько набросать скрипты благодаря людям, которые пишут и поддерживают библиотеки. Потому к тебе и вопросов столько было от анонов.
Надеюсь что это сарказм.
Самый волшебный язык - это брейнфак. Язык будущего.
Ох, анончик, спасибо тебе огромное, я думал весь код по пизде пошел
Меня PyCharm послал нахуй, когда я пытался через лен длину списка вывести. Но все, я разобрался
https://ideone.com/8ZQAVa
После того как поиграешь в Rising World, играть в Minecraft после этого невозможно.
Get-ChildItem -File | Sort LastWriteTime | Select -First 1 name
ls -t|tail -n1
http://stackoverflow.com/questions/6420311/how-to-make-save-load-game-functions-in-pygame
А в итоге получил:
> TypeError: can't pickle instancemethod objects
Что я делаю не так?
Выбираешь Пистон
> http://www.mikedrivendevelopment.com/2016/06/else-if-is-not-special-except-in-python.html
Не изучай пайтон с pygame. Я когда начал изучать пайтон, тоже начал с pygame - это оказалось болью и печалью. Там надо уметь работать с классами и кое-где более высокий уровень полета требуется и будешь спотыкаться об элементарные вещи. Вот лучше начни с них.
open(path, 'w')
Почему люди предпочитают написать эту фразу когда им встречается текст который они не смогли прочитать и понять?
Потому что они высказывают своё мнение. В чём такое охуенное преимущество написать вложенную конструкцию без отступов или обозначения блока? Толь проблемы создаст.
Нет, ну правда, зачем? Вот чем то, что он в конце представил, полезно? Тем, что сбивает с толку людей, проглядывающих код?
>Once delimiters are added and indentation is used, that should signify that that type of linked relationship is not true, and the code requires more careful reading.
Как раз-таки его код требует более тщательного чтения, потому что изначально не ясно, входит внутренняя структура куда-то или нет.
В тех же шарпах постоянно просят не пропускать скобочки даже в однострочных ифах, потому что обязательно потом обосруться, изменяя код, а ведь тут, по-сути, то же самое.
Да, в качестве теории это хорошо, оно действительно "calls out the simplicity of how the two control statements are 100% linked.", вот только практической пользы никакой, ящитаю.
>Потому что это не запрещено. Но это может сильно подпортить жизнь, а смысла в этом никакого, так как есть миллион других синонимов.
Понятно, учту.
>Что там в предыдущих 23-то, блин, было?
Научили, как пользоваться циклом if, циклом for, объявлять переменные, создавать листы и прочее.
>А что, в уроках не было рассказано, что цилк for делает, но он его использует?
Ну вполне возможно, что я не так понял, что при вложении for в for, цикл перебирает элементы из каждого множества, по отношению к другому множеству.
>Просто при каждой итерации внешнего цикла внутренний выполняется снова n раз.
Внешний цикл - это самый "старший", в который вложены остальные?
Так-то уроки не плохи. Получше, чем было в книге Доусена, где для решения задач нужно из конца главы, надо было читать другие книги.
И да, прошу прощения, что так заслоупочил. Горы дел были.
>Научили, как пользоваться циклом if, циклом for, объявлять переменные, создавать листы и прочее.
Пиздос, и сколько ты на это времени потратил?
Все это просекается за два чтения первых пяти глав любой книги. Метода такая: в первый день читаешь книжку в толчке, чтобы иметь представление втф, во второй день делаешь задания из конца глав пречитывая все непонятные места.
>Внешний цикл - это самый "старший", в который вложены остальные?
Да.
>Ну вполне возможно, что я не так понял, что при вложении for в for, цикл перебирает элементы из каждого множества, по отношению к другому множеству.
>по отношению к другому множеству.
Они независимы. Внутреннему абсолютно всё равно, вложен он куда-то или нет, он и не в курсе даже, есть там что-то или нет. Если оче грубо так, без нюансов, конечно.
>Видимо, не стоит называть объекты с именами модулей из стандартной библиотеки.
все есть объект жи
канонично и Ъ использовать matplotlib
kkk поди
Но там кода на 3 стоки, лол. Хоть что-то же обязано в глобале быть, иначе никак.
Нет конечно:
def main():
__app = App()
__app.run()
if __name__ == '__main__':
__main()
или на худой конец:
if __name__ == '__main__':
__app = App()
__app.run()
> Нахуя?
Чтобы структурировать код, чтобы не обявлять переменные в глобальной области видимости, чтобы твой App() не стартовал при импорте модуля.
>Нет конечно:
>И пишешь то же самое __main__ к вопросу глобала отношения не имеет.
>или на худой конец:
Так тут тот же глобал же, лил.
>Чтобы структурировать код
>чтобы не обявлять переменные в глобальной области видимости
Так вот это точка входа/старта в глобале жи, вполне всё "структурировано". Какая разница, функция там будет или одна единственная переменная.
>чтобы твой App() не стартовал при импорте модуля.
Уже выше в спойлере написал, зачем это сюда тащить-то, к глобалам отношения не имеет.
И так, хочу отдать свою даму на курсы сео, что бы уже работающие сайты раскручивала и бабло в адсенс/директ пихала.
Какие курсы где брать?
Впрочем, при импорте модуля, конечно, да, с мэйном app туда не попадёт, но это другое.
Решил проблему простым перекатом с pickle на dill. Но внезапно выяснилось, что все сохранённые экземпляры класса Surface pygame после загрузки читать не хочет.
И если раньше простой прожектайл хранил ссылку на картинку в себе, то теперь он должен хранить и вызывать его через анальное отверстие, например, хранить в себе только ключ для словаря и вызывать картинку по этому ключу из внешнего словаря.
>>778002
Но зачем адекватному человеку импортировать модуль предназначенный для старта программы?
с проектами на flask сейчас так и работают примерно
Слишком комбайн, мне всего то нужно сходить по ssh дернуть pull и докер запустить.
Анус себе дёрни, пёс.
Если проект разрастется, то пользоваться ansible придется научиться, хотя бы знать минусы чтобы не наступать на грабли и не тратить время напрасно.
Ну либо взять capistrano, оно такое же удобное, только на ruby.
Можно ли, проходя циклом по списку(состоит из кучи строк), если какая-то строка равна определённому тексту, вывести Следующий элемент в списке?
АА блядь, нашёл, волшебная ф-ция zip
Вобщем, такая тема - мне нужно скачать вот эту страничку http://www.biblio-globus.ru/service/catalog/details/10284233, потом написать программу, которая соберет всю инфу о книге - автора, цену, etc. Соответственно, запишет все это в файл. Как мне это реализовать?
1. Скачиваешь страницу, например, с помощью requests
2. Парсишь скачанную страницу, например, с помощью Beautiful Soup
3. Сохраняешь в файл необходимые данные
Что именно ты не можешь реализовать?
Мне вот тоже так показалось, но я хочу убедиться.
изучаю питон по доусону, стоит задача, переделать строку наоборот
вот мой код
https://ideone.com/4V6ouz
как я мыслю:
вводим слово, так?
заносим его в b
изменяем b от минимального отрицательного до 0
или не так я думаю?
А ты пробовал запускать это код?
Нет смысла заносить слово в b, если оно уже в a.
Тебе стоит прочитать про срезы, тогда у тебя всё получится.
> Как мне это реализовать?
> Мне походу надо сделать это через регулярные выражения.
Зачем спрашивал, если лучше нас знаешь?
1. Зачем нужно b?
2. len — это функция. -len — это ошибка.
3. Реверс делается через [::-1] (прочитай про слайсы).
4. пиздец ты дибил
from bs4 import BeautifulSoup
from urllib.request import urlopen
html = urlopen('http://www.biblio-globus.ru/service/catalog/details/10284233').read().strip().decode('utf-8')
soup = BeautifulSoup(html, 'html.parser')
details_name = soup.find("div", { "class": "details_name"}).contents[0]
with open('data.txt', 'w') as f: f.write(details_name)
sys.argv
Так я ньюфаг, и поэтому не знаю. Чтоб эти программы через обычную командную строку выполнять, например?
Ну вот, ты уже близок к истине. Чтобы передавать программе аргументы, типа
./load_page.py https://2ch.hk/
Гвидо там совсем охуел? Как фиксить?
Потому что ты сраной виндой пользуешься.
Устал от Asp.Net Mvc C#. Куда лучше вкатывать: Python Django или Java Spring?
Очень буду рад, если тут найдутся люди, кто зарабатывает/зарабатывал денежку на джанге. Профили на этих ваших биржах давно заведены, но приступать к отправке заявок считаю себя ещё недостаточно готовым. Как определить тот момент когда я буду готов, чтобы не обосраться и выполнить всё perfect по ТЗ заказчика? Что стоит подтянуть или выучить?
На джанге на данный момент написал всего два проекта (блог и небольшой интернет-магазин), оба из которых, правда говоря, так и остались в пределах локального сервера (одолевает перфекционизм: из первого уже сделал свой вордпресс (маняфантазия)).
Работал только с SQLite и MySQL (понимаю что надо ещё в PostgreSQL въезжать). Могу склепать на коленке адаптивный дизайн (без бутстрапа, но с очень неказистым дизайном - фронтэндер из меня никакой), на jQuery разные красивые штуки могу прикрутить.
Посоветуйте что ещё поизучать и что поделать, чтобы прокачать скиллы и со спокойной душой пытаться что-то словить на апворке.
Сколько вас таких тут было, кто просто услышал о зп программера и решил чем он хуже. Оно и не плохо, с одной стороны, только такой трюк при такой мотивации удается провернуть хорошо если одному из пяти-десяти. Потому что программинг это блин хобби, а не ремесло. Ремесло это вон фронтенд, хотя тоже бывают исключения, и всегда работы по фронту валом.
Ну, твое дело конечно. Я бы рекомендовал сперва попробовать себя в торговле, ибо она точно больше приносит и не является пыткой, которую через силу мозги шевелить заставляет. Купил рекламу в адсенс - взял предоплату - купил васяну его дверь/ворота/сигарету электронную - отдал, деньги забрал и гуляй себе.
Ну, а так что:
Python: codecademy - a byte - Dowson / Lutz - think Python - tutorials - standard library by example - algorithms and data structures with Python
Django: polls tutorial - django girls tutorial - django by example - obey the testing goat - 2 scoops of django - tutorials
Удачи
>>777752
А так, аноны, какие есть годные видеокурсы по третьему питону?
Мой курс "Ленивый питон" оказался не очень, как получается.
Бобра.
Очереди, воркеры, веб-сокеты.
ставишь celery, он каждые n времени парсит сайт и ложит данные в redis, когда нужно достаешь с redis и ложишь у вьюшку
for t in range.....
Это обычная переменная и правила ее именования как для обычной переменной.
Это пиздец, мало того, что это говно валится в процессе без отчета об ошибках, так еще и nmake не ест высранные им pro файлы с ошибкой
hz.pro(3) : fatal error U1036: синтаксическая ошибка : слишком много имен с
лева от "="
Stop.
Все дело в +=, которые это мразь щедро разбрасывает по всему .pro файлу. А ведь написано, что на виндоусе можно работать.
Можео.
("\n".join(textwrap.wrap(row[1], 40)))
Форматирует текст столбиком по 40 символов в строке.
Скажем есть публичное API, и я хочу, чтобы новые версии не ламали старых клиентов, по этому все запросы будут идти вида http://pisechka.hk/v0.1/hahaha или http://pisechka.hk/v0.2/hahaha и каждую версию обрабатывает раздельный код.
Сейчас есть файл handlers.py, который хэндлит все запросы, но хотелось бы сделать типа handlers_0_1 и handlers_0_2, но чтобы было цивильно.
Есть ли готовая либа для таких вещей?
Это не важно, важно как сам код отдельно от запросов организовать. Но выглядит сейчас так:
handlers = [
...
(r"/attach", h.AttachAccountHandler),
(r"/auth", h.AuthorizeHandler),
(r"/resolve", h.ResolveConflictHandler),
(r"/validate", h.ValidateHandler),
(r"/extend", h.ExtendTokenHandler),
...
]
пакет api_v01, api_v02, в каждом из них своих вьюхи и урлы, которые инклюдятся в глобальном urls.py (джанга)
(r"/v0.1", include('api_v.01.urls'))
Да валом
Вбивай Джанго шоп/блог/твиттер/что угодно туториал и смотри
Начать можешь с Джанго гёрлз туториал
Пандас чем тебе не CSV?
фор орешек ин корзинке
фор элемент ин лист
И тд
Главное что бы быстро врубиться можно было что это и зачем
Я понял, что функция float преобразовывает мои значения. Как мне перевести строковое '69.65' в обычное 69.65?
Спасибо, сейчас попробую.
Зачем тебе регулярки? Используй HTML-парсер и бери просто текст из тега с определенным классом.
Преподаватель сказал.
Сорь. Мне было скучно. Больше не буду.
Нахожусь в командировке
Имею вин-10 ноут с ебанутым UEFY на который ещё и ставить толком ничего нельзя из альтернативных систем
Внезапно нужно до пнд запилить простенький сайтец-одностраничник
Хочу сгенерировать его на https://github.com/eudicots/Cactus или http://blog.getpelican.com/ и потом доводить до ума, ведь шеф тот ещё эстет.
А теперь, внимание, вопрос знатокам:
Как мне всё это провернуть из-под блядской винды? И какой сайт-ген выбрать? Где брать джанго-шаблончики для Кактуса и тд
дана последовательность чисел (например 112222555555444), нужно написать функцию которая выводит самую длинную подпоследовательность одинаковых чисел в этой последовательности, понятно что это
555555, но как вывести её и индексы начала и конца этой подпоследовательности.
решай в перекатаченном треде, для начала
Это часть твоей жизни. Да и сам ты, если внимательнее присмотреться....
Вот этот код должен пройти по списку и проверить, является ли хоть один из членов списка нулём. Если да - то он должен сказать False, если нет - True. Но он работает только на первом члене списка, дальше затыкается. Почему?
Не ноль.
Да, полагаю именно в этом дело - сейчас, когда учусь разные циклы писать, то с return приходится долго ебаться.
https://ideone.com/qSTuSZ
хочу сделать программу с вводом и параллельным отсчетом времени, пробовал threading.Timer, но его дважды не запустишь и к тому же сложна
если быть точнее, то return возвращает определенное значение из функции, а вот инструкция break прерывает цикл
необходимо на питоне их хотя бы открыть для начала, помогите незнайке:)
С питоном вроде через Psycopg2 работать с этой бд?
Скинул в папку pyTelegramBotAPI-master с гитхаба, пишу:
>import sys
>sys.path.insert(1, 'pyTelegramBotAPI-master')
>import telebot
На выходе имеем:
>Traceback (most recent call last):
.....
>import telebot
>File "pyTelegramBotAPI-master\telebot\__init__.py", line 8, in <module>
>import six
>ImportError: No module named six
В __init__ телебота:
from __future__ import print_function
>import threading
>import time
>import re
>import sys
>import six
В чем причина? Проблема в библиотеке?
Инб4 во мне, и так знаю
Помогите битте, года четыре не пейсал ничего.
Это копия, сохраненная 14 июля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.