Это копия, сохраненная 20 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
В пифоне есть модуль для винапи вроде.
Про "кнопку" не знаю. Но для таких целей в системе имеется трей с иконками.
from PyQt5.QtWidgets import QPushButton, QGridLayou
Button = QPushButton("Тырк в меня")
Не благодари. Только не забуль добавить кнопочку эту куда нибудь
form = QGridLayout()
form.addWidget(Button, 1, 1)
import gtk
def pressed(button): print 'fooo'
win = gtk.Window()
button = gtk.Button('foo')
button.connect('pressed', pressed)
win.add(button)
win.show_all()
win.set_keep_above(True)
btk.main()
Подглядел в исходниках проги на c#. А они, очевидно, изучили какие запросы шлет приложение на мобильнике с помощью прокси, wireshark или подобного.
Пиздец, нахуй рыгахост, норм посоны на гитхаб льют.
Имеется один вопрос. Сам я только начал вливаться в удивительный мир программирования - опыта ноль, из опыта - курс на кодакадеми, ну и огромное желание написать то, что задумал.
В общем, есть одна программа, написанная в вижуал бейсике. Программа имеет вид консоли, общается через контроллер и интерфейс RS-485 с платой, на которую устанавливается определенный датчик. С помощью различных команд можно задавать серийный, сетевой номер датчика, устанавливать пороги измерения этим датчиком концентрации газов, получать с него значения концентрации в данный момент и все в таком духе. Прога очень старая, неудобная, в виде консоли. Есть желание и цель ее переписать, добавить всяких приколов и тд.
Подскажите - для реализации такой задачи пригоден питон, или же без знания си/си++ можно не соваться в мир общения с контроллерами и интрефейсами измерительных приборов?
Посмотри эту штуку. RS485 в ней есть. Но я не байтоеб и в предмете не разбираюсь.
https://github.com/pyserial/pyserial
Питонисты, поможите, пожалуйста, кто чем может задача такова:
Есть список в путоне few = [ 1,2,3,4,5,6,7,8]
и есть значение, например переменная a,
Хочу что бы программа брала значения из списка, они там отсортированы по убыванию и вычитала удвоенное произведение значения из списка из переменной, до тех пор, пока значение переменной не становилось бы меньше, чем самый маленький элемент списка умноженный на 2. питонистеры взгляните плиз, я начал делать, но есть подозрение, что я делаю какое то гавно:
тут выше код программы, где задаются все переменные и формируется список few[]
sorted(few)
few.reverse()
for n in few:
if (n 2) < halfsizemin: # halfsizemin переменная, половинный объем данных, минимально возможный
n2 = (halfsizemin - (n 2))
print(str(n2) + ' ostatok ')
if (n 2) < n2:
n3 = (n2 - (n *2))
print(str(n3) + ' ostatok')
>sorted(iterable[, cmp[, key[, reverse]]])¶
Return a new sorted list from the items in iterable.
Ты делаешь хуйню уже изначально. Изучи азы для начала.
Твой сортед делает дело, но никуда не возвращает результат. Нужно записать это в переменную.
Используй дебаггер или хотя бы print чтобы проверять на всех шагах что у тебя происходит, в каком виде находится твой список. Цикл while здесь наверное тоже будет уместнее. Ну я не вникал в задание, может и нет. Попробуй прочитать "Простой питон. Современный стиль программирования". Эта книга очень хороша и актуальна.
А что такое дебаггер ? Программа? Инструмент?
про print звучит дельно, тип анализировать происходящее, после операции. Читаю щас марк лутц "Программирование на питон" 4е издание - оно не подойдет ? Разобрался с .sort() и .reverse() попробовал написать такой цикл на while, и понял, что тут собственно нужен for, потому что он перебирает список, а мне как раз это и надо, смотрите что получилось, еще раз спасибо всем анонам шо помогаете,я так рад ( очень сильно *2)
Лутц это справочник. Он у меня сразу не пошел и до сих пор ч прекрасно живу без него.
Делает меня грустить но не отчаиваться.
Есть код: https://pastebin.com/BiSxYP9r
Но он не работает. По идее, должен отправлять письмо на указанное мыло (все данные по типу ящиков и паролей находятся в constants)
В итоге даже никаких ошибок нет, просто скрипт выполняется и все. Прошу, помогите! Заранее очень благодарен!
https://www.youtube.com/watch?v=hporRfjFISo&list=PLhQjrBD2T382VRUw5ZpSxQSFrxMOdFObl&index=11
Не обращай внимание на название лекции, там sql в контексте фласка
Сказал бы "ты все делаешь правильно". Точнее, я бы лучше сказал бы это себе еще до того, как начал учить питон, так как начинал я с js. Тогда бы я сказал "бросай эту хуйню и учи питон"
Что-то типа:
"Никогда не делай что-либо бесплатно человеку, который потом на продукте будет пытаться заработать. Никогда не трогай PyBrain. Никогда не берись за тестовые задания со временем на выполнения более 1-2 дней."
https://repl.it/HK9a
Ну код с декоратором преобразуется во что-то вроде:
func = test_passw(passw)(func)
То есть в 'p' передается 'passw', потом возвращается 'deco', которая в свою очередь принимает 'func'
Не спрашивать вопросы по типу
>Уважаемы господа, представьте что у Вас есть шанс дать совет самому себе перед тем как вы сядете на бутылку начнете учить Питон (Совет связанный с программированием). Что бы вы себе сказали?
>
>Уважаемы господа, представьте что у Вас есть шанс дать совет самому себе перед тем как вы сядете на бутылку начнете учить Питон (Совет связанный с программированием). Что бы вы себе сказали?
Ну а чего ты ждешь? Если ексепшенов не выскакивает то велика вероятность что ты не совладал с настройками почтового сервера.
Я сделал все так, как сказано на сайте мыла сру!
К слову, я сейчас все сделал через яндекс, и заработало с первой попытки. И какого хуя?
В официальной документации блять. Что тебе в словах арифметические операции не понятно?
Учи быстрее, делай продуктивнее, не трать слишком дохуя времени на это. Да впрочем как и сейчас себе говорю.
Ну ещё __call__, __iter__, __next__, __aiter__, __anext__, __enter__, __exit__, __aenter__, __aexit__. Так или иначе это эмуляция нативных средств языка через магические методы. Если не хочешь писать стандартные вызовы методов ООП, а хочешь чтобы красиво как с числами/контейнерами/итераторами/контекстменеджерами было - то гугли такие методы. Полный список собирать нет смысла, далеко не везде они нужны.
Имеешь ввиду, что у них там проблема, а не в моем говнокоде?
Просто я иногда тугодум, если задания а-ля ёбо-сортировки с олимпиады по программированию, так что ну ты понел.
Есть для этого там что-то готовое?
Бля, забыл уточнить же. Речь об RRULE.
Чет не то. Вот пикрелейтед справа БД. Там есть филд в котором хранятся RRULE, десериализация происходит сама через django-recurrence. По сути получается обычный объект dateutil'а, там даже есть метод для конвертации в него.
На левом тайле я вот разрулил через .between -- оно дает все даты совпадающие по RRUL'ам между двумя объектами датеутила. А как получить просто полный генератор совпадений? Можно конечно ебнуть до 22 века и не ебать мозгу. И еще, я так понимаю генератор умрет сразу, ибо живет в пределе коллбека. Мне по сути нужно только следующий оккуренс после текущего каждый раз.
Задача сама -- выполнить коллбек в нужное время и запланировать сразу следующий по правилам из БД, через дельту от текущего времени.
У меня такая каша сейчас в башке что я пришел за свежим взглядом.
Форматы хранения и БД оставь себе. dateutil это обёртка над стандартными датами. Не знаю какие тебе там совпадения нужны.
>запланировать через дельту
Это называется scheduler. Его делают обычно с помощью кучи https://docs.python.org/3/library/heapq.html (такой специализованный аналог массива с поддержкой отсортированности) Но это если у тебя процесс постоянно висит в памяти и по расписанию что-то выполняет.
Конкретно к датам тупо прибавляешь дни (+ timedelta(days=N)) - получаешь в даты в будущем.
ЗАМЫКАНИЕ
1. Есть юзеры (логин/пароль/описание и характеристики виде таблички 8х3(организовать в виде json`a в строку в БД?))
2. У каждого юзера есть действия которые он производит каждый день, их результат и нужно записывать в БД(создавать для каждого юзера по копии таблички с полями дата/время/действие?)
У меня постоянно какие-то проблемы с этим, может какую годную литературу посоветуете?
p.s. Ну и если важно - Python3/Django/PostgreSQL
гайз мб у кого “Think Python” на русском?
на сайте где ее переводили не работает ссылка.
Молю нужно чем-то разбавить нудного Лутца.
Дарю тебе лай фак на всю оставшуюся жизнь (хотя такими темпами на пару-тройку лет всего, ну да не суть)
Просто пишешь в любимый поисковик "запрос + vk + pdf/epub/fb2/whatever" и молодец
>Это называется scheduler
Очередь уже есть у меня, она в python-telegram-bot встроена на asyncio. Она умеет только в дельты и дэйттаймы.
>Конкретно к датам тупо прибавляешь дни (+ timedelta(days=N)) - получаешь в даты в будущем.
Пример элементарный же, есть правила с месяцами, годами, с исключением дат и прочими фишками rrule.
Единственное, timedate.now() возвращает время на момент исполнения таска в queue, так что будет небольшое смещение относительно реально заданного времени на то чтобы создать, положить и выполнить таск. С каждым исполнением это будет накапливаться. Возможно это решу добавлением текущего времени в контекст таска еще на момент его инициализации. Ну либо отвести поле в БД под это дело.
Ну и еще добавить обработчиков исключений если событие больше не повторится и на прочие косяки. И добавить поддержку временных зон.
Работа идет, пожелайте удачи!
Ну там как бы простейшие примеры, а если делаешь что-то хитровыебанное, с множеством действий, то не все так очевидно оказывается.
1) Функция в питоне это же не класс ,в том смысле, который вкладывает в это слово ООП?
2) Список это аналог одномерного массива, а есть ли в питоне реализация двухмерных массивов?
3) Я сейчас разобрался с функциями, циклами, переменными и строками. Что мне ещё нужно усвоить, чтобы переходить к практике?
1) Класс функции можно извлечь: type(lambda: 1) Но проверять вместо isinstance следует с помощью callable. Можно объявить класс, объекты которого будет вести себя как функции, через метод __call__.
2) Список списков к примеру. Есть ещё numpy, но там типизированные эффективные массивы любой n-мерности.
3) А какую практику тебе надо? Для чего учишь?
Ебаный стыд.
>1) Функция в питоне это же не класс ,в том смысле, который вкладывает в это слово ООП?
Как у тебя в мозгу связались функции и ООП? Почитай за ООП и конкретно "ООП и python".
>2) Список это аналог одномерного массива, а есть ли в питоне реализация двухмерных массивов?
Знаешь что такое двумерный массив? Гугли блять "что такое двумерный массив" и ты прозреешь.
>3) Я сейчас разобрался с функциями, циклами, переменными и строками. Что мне ещё нужно усвоить, чтобы переходить к практике?
Выясни предыдущие два пункта, а затем открой линк из шапки и скачай все книги - читай/пиши код из заданий/примеров.
Godot осваиваю.
>>974466
Чтож вы на ровном месте порвались то? В моём представлении двухмерный массив это матрица, уж простите сер Мастер, но как я уже говорил, у меня "опыт" программирования был на процедурном языке.
>В моём представлении двухмерный массив это матрица
Так оно и есть, вот пример тебе, двумерный массив из 3 строк и 8 столбцов:
[
____[x,x,x,x,x,x,x,x],
____[x,x,x,x,x,x,x,x],
____[x,x,x,x,x,x,x,x]
]
>Чтож вы на ровном месте порвались то?
Антош, но есть же гугл, который ответил бы тебе на 2 первых вопроса 100%.
У меня только двачи нормально пашут =/
1. Постгря умеет хранить JSON нативно. Джанга тоже умеет это использовать.
2.
>создавать для каждого юзера по копии таблички
Никогда не делай CREATE TABLE штатной операцией программы. Пиши всё в одну линейную таблицу юзер_ид/дата/время/действие.
>Пиши всё в одну линейную таблицу юзер_ид/дата/время/действие.
Why?
Не получится ли куча непонятной инфы?
Пока что весь прожект выглядит как 4 модели:
Юзер администратор;
юзер обычный;
таблица с параметрами обычного юзера которую он наследует( models.ForeignKey(...)), периодически её корректировать придётся;
ну и большая таблица в которую мне придётся записывать действия юзера (ещё не придумал как конкретно буду хранить его действия)
>Юзер администратор;
>юзер обычный;
Это отстой. Админу придётся заводить два аккаунта: обычный и админский. Какой смысл разделять эти таблицы? Какой смысл вообще имплементить пользователей, если они в джанге почти что из коробки есть, и там целая система ролей уже предусмотрена?
Админу не придётся иметь два акка, ибо он не участвует в том что делают обычные юзеры - он наблюдает лишь.
> Какой смысл разделять эти таблицы?
А как ты предлагаешь сделать? С учётом того что у админа и обычного юзера разница в наличии/отсутствии таблицы характеристик(у админов её нет).
p.s. Ну и остаётся открытым вопрос - как записывать действия юзера , с результатом действий всё ясно, но мне нужны сами изменения, то есть чем цифры до .. отличаются от цифр после ..
p.s. Придумал такую ерунуду: добавить ещё один столбец к таблице с изменением значений и в этот столбец вписывать json строку вида "{%название столбца%: %изменёнение значения на ххх%}"
1. Ты заебал спойлеры расставлять и писать невнятно.
2. Не майся ерундой, изучи джангу получше. Как минимум тебе не придётся дублировать логин.
3. https://github.com/ZoomerAnalytics/jsondiff Как спрашивал так и посоветую. Откуда мне знать что ты там хранишь и для чего. Можешь ещё тупо копию всего на каждое действие сохранять.
Окей, спасибо, приму к сведению.
number = 23
running = True
while running:
guess = int(input('Введи число: '))
if guess==23:
print('Совершенно верно!')
running = False
elif 15<guess<23:
print("Задуманное число чуточку больше.")
elif guess<15:
print('Задуманное число значительно больше.')
elif 23<guess<30:
print('Задуманное число чуточку меньше.')
elif guess>30:
print('Задуманное число значительно меньше')
Если число не рано number, то твоя программа должна запрашивать число заново, пока оно не будет равно 23(нумберу). При guess == 23 running = False и цикл while останавливается, т.к. условие цикла возвращает False, если иначе - продолжает запрашивать число еще раз.
Таки как порешать? Убирал и тру, и фолз, но ничего не менялось. Всё также запрашивал одно и то же
Например, в цепочке из функций openFileBtn.clicked.connect(openFile) о существовании функции connect IDE не сообщает.
Есть ли способ это исправить?
Скажи спасибо, что у меня ideone пашет.
Спасибо, твой код натолкнул на решение. Ёбаные отступы!
у тебя выпадают числа 15, 23, 30, т.е при их вводе он ничего не показывает.
а, не, 15, 30 выпадают.
Потому что это динамический метод, он появляется в процессе исполнения кода и, насколько я знаю, для пифона нет настолько умного комплита (да и не может наверное быть) который сможет всё это отрезолвить.
Мамкино небыдло, ты что на чанях забыло?
Сап, помогите разобраться с джангой. Нихуя не понимаю как работать с юзерами, даже регистрацию юзера написать не могу.
В urlpatterns дабавил include('django.contrib.auth.urls')
в нем есть юрл для логина/логаута готового юзера и всего остального, но нет регистрации. То есть все есть, а регистрацию мне нужно отдельно как-то реализовывать? Вроде логично же, что вместе с теми юрл, которые там есть должны быть создание/удаление юзеров?
Я в свое время (год назад) нихуя не нашёл.
По джанго тоже обрывочно, и кучу плюшек можно узнать из коммитов, а по фласку вообще голяк какой-то
С шаблонной разметкой, двумя страницами, обилием формочек и совсем не шаблонной логикой. С учетом того что нужно и тесты написать, покрыв ими большую часть функционала.
Скрипт — это программа или программный файл сценарий, которые автоматизируют некоторую задачу, которую пользователь делал бы вручную, используя интерфейс программы. Скрипты пишутся на скриптовый языках, которые различаются по своему синтаксису, сферам применения и возможностям.
удачи и успехов бульончик
То есть, обычная программа, ведь так?
Я вот написал программу, которая сортирует список пузырьком. Можно ли назвать её скриптом?
>2) Список это аналог одномерного массива, а есть ли в питоне реализация двухмерных массивов?
списки могут быть вложенными [[1,2],[3,4]]
изучай модуль array
>Я сейчас разобрался с функциями, циклами, переменными и строками. Что мне ещё нужно усвоить, чтобы переходить к практике?
уже можешь на какомнибудь Checkio задачки решать
Изначально скриптами называли программки, которые выполняются внутри каких-то других программ, например пользовательский интерфейс в WoW на lua, расширения для браузера на js (да в общем-то и сам по себе js внутри html страниц), расширения для блендера на питоне, какие-то сценарии в игровых движках для задания сюжета (lua, python, angelscript), команды на tcl в IRC клиентах. То есть подразумевается короткая, несложная программа, разработанная на специальном языке, для которого характерны приоритеты в простоте изучения и краткости написания, удобства для пользователя, а не заморочка на производительности. Скрипты нужны для лёгкой кастомизации поведения программы неспециалистами, без привлечения методик разработки, управления сложностью, проектирования.
Содомит
И чем ты сейчас занимаешься? Чему новому научился? Какой-нибудь веб фреймворк изуил?
Я питон выучил в нагрузку к любимой не айтишной профессии и хорошей работе, а не что бы от них сбежать, так что закономерно занимаюсь и дальше своей работой плюс попутно радую клиентов и руководство говносайтами под тот или иной проект и прочими PANDAS что б вечер не убивать на эксель таблички.
Пользуюсь Джанго, мне его за глаза.
Посоны, зачем нужен пандас? Чем не угодил нумпи + сторонние библиотеки для экспорта в эксели?
Пандас это такой правильный эксель без =СУММ(КРИСА(А5:A8)) c более простыми способами групировки и сортировки данных
Сейчас qt модный, а gtk разве что в линуксе под исками и гимпе используется
Т.е. стоит курить именно PyQt?
Пролистал dive into python 3, хочу выдать список названных шебмок с сосача вместе со скаченными с ютуба роликами. Делаю это примерно так: (python 2.7.6)
https://pastebin.com/jMqJNVkh
строчку с DEFAULT_PATH намеренно удалил
И какая-то проблема с кодировкой возникает вот на этом моменте:
>unicode(name, encoding ='mbcs', errors = 'ignore')
причем не до конца пойму где. Шебмки в названии, помимо ангельского, могут содержать символы из русского и японского. И вот эти символы почему-то пропускаются. Пробовал выводить строку без конверсии в unicode-строку, пробовал UTF-8, UTF-16, вот тут пробую в качестве параметра mbcs - без игнорирования ошибок вываливается Exception.
ЧЯДНТ? Явно что-то глупое происходит.
Да, важно, дело происходит под виндой. Выводить результат пытаюсь в Sublime консольке и в виндоус-консольке с одинаковым исходом.
А я вот люблю выполнять тестовые на неделю от всяких пидарасов. Результат я им, понятное дело, не высылаю.
Недавно граббер страниц по расписанию на asyncio + rabbitmq + websockets + react запилил по тестовому от одной в край охуевшей конторы.
>Результат я им, понятное дело, не высылаю.
А зря. Высылай отрывки или сам хости результат и отсылай ссылку.
Пускай побугуртят.
Пили стори как ты это дерьмо освоил, какая база была до этого
>asyncio + rabbitmq + websockets + react
>Flask cookiecutter
Да, полезные наработки.
но это
>лишь верхняя часть айсберга.
Ладно начну фигню какую-нибудь задрачивать-разрабатывать, что-нибудь слеплю годное.
Кто? Я сегодня только спросил насчет этого и все. Ты меня перепутал с кем-то...
Бамп, нахуй, у меня горит, что я несколько часов убил на это говно и только потом попробовал через яндекс, через который все заработало моментально и с первого раза. Объясните, как у них (мейлру) эта хуйня работает, прошу.
А что тебе еще нужно? Блупринты есть, application factory есть. Дальше твоя фантазия и stackoverflow.
зачем их пихают в какие-нибудь готовые приложения например?
В готовые приложения их пихать не нужно, достаточно прогонять их на этапе сборки. Тесты позволяют взять какую-то часть системы, на любом масштабе, и закрепить ожидания от ее поведения кодом (текст все равно никто читать не будет). У нас на проекте около четырех тысяч бекенд тестов и около 800 фронтенд. Зачастую бывает так, что одно изменение валит пару десятков тестов, таким образом показывая, какие еще места зависят от того, что ты изменил.
Если нет: что я должен осилить до кучи параллельно изучению питона? Я так понял основное это джанго, js и sql(или чето такое про базы данных)?
Разные редакциии для разных версий.
как правильно организовывать ветки, что куда мержить
как и где хранить настройки базы данных и проч.
все это применительно к петону/фласку
Дэйт, теория бд
Нет, на английском, но это вообще курс лекций и у них часто есть перевод.
Вот тут посмотри
https://rutracker.org/forum/viewtopic.php?t=5104638
Начал учить питон, очень нравится простота синтаксиса и возможность решить какие-то тривиальные задачи в пару строчек. Пугает одно - куча версий с кучей изменений и обратная несовместимость. Сейчас открываю для себя Flask и читаю параллельно всякие статейки, где чуваки бугуртят от версионности и изменений в языке. Пожалуйста, Анончик, приведи какие-то весомые аргументы, которые задержат меня на этом прекрасном языке и не позволят уйти в мир жабаскрипта.
На кодакадеми есть курс по гиту.
Минорные релизы разве не ломают обратную совместимость? Пишу на 3.6 сейчас и боюсь, чтоб потом не оказалось, что придется перечитывать и переучивать.
В большинстве своём не ломают. Сломали только совместимость между третьим и вторым пистоном.
Смотря какая работа.
http://ideone.com/lQNeFC
Да знаю что можно легче и другими методами.
В Питоне порядок отсчета начинается с 0.
Для поиска первого и последнего я использовал [0] и [-1].
Но какого хера я не смог возвращать слово ,без первой и последней буквы тем же способом? а только [1:-1].
Я правильно понимаю, что прога не должна работать корректно, ибо останов всех потоков в строке 170 не выполнится, т.к. метод terminate 110 не обеспечит выход из цикла 74?
Если да, то зачем, типа защита от скрипткиддисов?
не гоните нуба ссаными тряпками, дайте небольшой список модулей(не обязательно встроенных) которые стоит освоить каждому юзеру питона с самого начала а то глаза разбегаются. Только вот не надо спрашивать чем я собираюсь заниматься, питон мой первый язык, учу я его для расширения кругозора и поэтому просто хотелось бы услышать мнение Анона с чего начать.(пока ковыряюсь с os и tkinter) Вообще интересно было бы с какой нибудь графикой поработать, это всегда весело имхо.
http://sadchan.sytes.net:8000
Исходники, если кому интересно http://rgho.st/8wMTwzRRj
перепутал.
Как лучше читать\записывать данные?
У меня пока так, читаем файл построчно и тут же вставляем эти данные в таблицу, а в конце коммитим
for i in open('logs.txt', 'r'):
____log_date, log_code, log_path = i.split()
____cur.execute("INSERT INTO logs (date, code, path) VALUES ('{}','{}','{}')".format(log_date, log_code, log_path))
conn.commit()
Для теста использовал sqlite3, но весь файл переноcился 9 минут, можно ли увеличить перфоманс? inb4: Использовать нормальный ЯП На mysql и postgesql будет быстрее и вообще какая бд лучше подойдет? (количество файлов будет расти и их нужно будет постепенно добавлять и визуализировать на сайте на джанге в виде статистики)
Быстрее будет в монгу/эластик засунуть. Их часто для хранения логов используют.
А так mysql или postgres - все равно.
Твое решение тупое потому что делается много инсертов, можно сразу много записей в одном инсерте добавлять.
Если хочешь максимально быстро - смотри как импортируют в бд дампы. Можно сначала сформировать файл дампа и потом скормить его базе.
Есть фреймворк для генерации статичных сайтов от создателя фласка - lektor.
Дампы разве не в том случае если у нас есть доступ к самому процессу? Тут нужно именно текстовик перебрать
>мир жабаскрипта
бандлеры, минификаторы, хуйпиздаторы, галп, вебпак, нпм
все это ввемтос pip + virtualenv
Если я импортирую модуль, в котором лежит функция, и следом она сразу же вызывается, что произойдет при импорте? При вызове функции?
import script
В том файле, куда импортируешь, создаешь объект нужного класса и вызываешь через него функцию.
Ты как то блять кривой все расписал. Если не хочешь, чтобы функция при импорте сразу вызывалась - пропиши в модуле
if __name__ = "__main__":
вызов функции
==
И щито делать?
закрыть себе доступ ко всему, кроме необходимого для проектов и делать
Я жму на кнопку и на ней должно отобразится количество предыдущих нажатий + нынешнее нажатие в виде числа.
Например, если сейчас запустить программу на кнопке будет написано 'Count: 0'. После нажатия на нее надпись должна поменяться на 'Count: 1', если еще раз нажал, то надпись должна быть 'Count: 2' и т.д.
Наверное можно переопределить метод нажатия, какой бы фреймворк ты не использовал.
Полупсевдокод:
class Knopka:
def __init__(self):
self.count=0
def nazhal_iz_doc(self):
count+=1
super(Knopka, self).nazhal_iz_doc
Пишет, что Reverse for 'reports.views.post_detail' not found. 'reports.views.post_detail' is not a valid view function or pattern name.
Я уже по-разному пробовал писать путь, но он не находит всё равно.
https://repl.it/HOWz/2
В url у тебя имя задано для вьюхи?
https://docs.djangoproject.com/en/1.11/ref/urlresolvers/#reverse
А если использовать генераторы и executemany
def string_generator():
____for i in open('logs.txt', 'r'):
________yield i.split()
sql_string = "INSERT INTO logs (date, code, path) VALUES (?, ?, ?)"
cur.executemany(sql_string, string_generator())
conn.commit()
Время сократилось с 9 минут до 3-х
Я нашёл тимплейт: https://github.com/puikinsh/Bootstrap-Admin-Template
Как мне его собрать правильно для джанги, чтобы было по-человечески: например, хтмл - в теплейтах, етц?
Опыт работы обязателен.
Мои контакты sonW;<ivebaANUSyandezAixPUNCTUMrgdEu
Зарплата от 500зеленых в месяц. В перспективе рост зп
В письме рассказать немного о себе, о своих проектах и т.п., возраст.
def test():
def resolver():
return random.randint(1, 100)
return resolver
[/code]
Как пропатчить внутренний randint? Как вообще тесты на такое пишут?
У меня есть функция get_absolute_url() в Models.
Поясните как сделать редирект с помощью нее ? Например, после создания поста - я хочу редирект на сам пост.
Вот тут ничего не понял.
https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#redirect
Так а что это за object ?
У меня форма по модели Post сделана, вью на пикрил, что я там написать должен ?
У тебя там и так редирект(пост) же после создания поста. А до создания не получится, это же метод объекта.
Да, действительно, спасибо, что-то я совсем плохой.
решил перевести это с sqlite на mysql, запустил сервер, подключил бд, в итоге вылетает ошибка MemoryError
Потому что на нем охуенно писать сайты. Быстро, удобно, масштабируемо во все стороны а быдлокодить или делать как-то неправильно почти невозможно.
Но если вопрос риторический то конечно во всем этом смысла нет, все мы просто перегной на пути из папкиного яйца к зеленой травке.
А есть ли краткий гайд по всем его возможностям? По типу посмотрел - написал - обосрался
Лол, нет такого
Можешь навернуть Django Girls оно бестолковое и скучное, но хоть что-то
Можешь после ДЖАНГО ДЕВУШЕК навернуть Django by Example -
оно охуенное и по всем плюшкам джанго существующим, но долгое дохуя и может будет для тебя слишком крутым.
Официальные доки, там в начале делается простое приложение голосовалка, где основные момнеты показыны, есть даже на русском django book гугли
Спасибо, гляну.
Да.
Суть в том, что на работе на компьютерах закрыта возможность установки программ(работаю на режимном объекте), а практиковаться в свободное время хочется.
Нужно вернуть self.method(), те вызвать функцию, где method берется из того самого списка.
Methods = ['Method1', 'Method2']
return self.___()
Вместо ___ нужно подставить один их методов.
func = getattr(task, 'self.{}'.format(Command))
добавление скобок 'self.{}()' не помогает, но если оставить просто '{}', пишет что пропущен self. Если self добавить, то теперь ошибка no attribute. Круто.
>>976624
>>976617
питон 2.7
class azaza(object):
____def method1(self):
________return 'kokoko'
____def method2(self,name):
________return 'a.u.e. '+name
>>> obj=azaza()
>>> method = getattr(obj,'method1')
>>> method()
'kokoko'
>>> method = getattr(obj,'method2')
>>> method()
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
method()
TypeError: method2() takes exactly 2 arguments (1 given)
>>> method('hitler')
'a.u.e. hitler'
ты изнутри объекта чтоли вызываешь?
ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ
Заебал этот дрист. Код всегда похож на говно, работает как говно, читается как говно, тестируется как говно и по утиной типизации является эталонным говном.
ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ ПИТОН ЭТО ДРИСТ
Заебал этот дрист. Код всегда похож на говно, работает как говно, читается как говно, тестируется как говно и по утиной типизации является эталонным говном.
Сейчас он останавливает дальнейшее выполнение через raise. Еще есть конечно вариант делать пустой return. Есть идеи как сделать это по-человечески?
Тут вопросы либо от полных ньюфагов уровня что такое итерация и вопросы по джанге, ВСЕ
Окей, попробую спасибо
Потому что все остальное спокойно гуглится/читается у лутца.
Вполне можно оставить raise, а потом ловить это с помощью try/except и обрабатывать
Так ты сможешь прервать выполнение на любом месте без лишних телодвижений
Еще можно сделать какую-то общую переменную, в которую пишется цифра статуса, и обрабатывается в другом месте кода, так можно будет сохранять статус без остановки выполнения
Можно просто вернуть это с помощью return, как ты и сказал, но это будет проблемно, если тебе надо будет вернуться сразу из нескольких вложенных функций
Проблема моего подхода в том что я ловлю основные эксепшены. Если в пикрелейтеде выше произойдет любой эксепшен кроме DoesNotExist (хотя в теории не должен) то выйдет хуйня.
Самое главное я волнуюсь за безопасность. Мне нужно чтобы декорируемая функция func(args, *kwargs) ни в коем случае не выполнилась если не пройдены проверки выше.
И еще, будет ли разница между тем чтобы запихнуть func под finally?
n = int(input())
if i == n:
print ('Ебать мой хуй! Ты угадал!')
if i < n:
print ('Попробуй поменьше!')
if i > n:
print ('Попробуй побольше!')
Пацаны, что я неправильно сделал?
Ты проверяешь n на больше/меньше, после того ка убедился, что оно равно i, юзай elif под if
Ну я сделал ниибаццо хуйню, которая взаимодействует с одним расширением хрома и двумя почтами. Гребу логи аккаунтов лопатой каждый день. Ответы?
Хуи сосешь?
https://repl.it/HSRr
можно покрыть тестами все
второй вопрос можно переложить на плечи гугла
а третий - если ты считаешь, что этот твой круд может вырасти до не такого примитивного - покрывай, потом спасибо себе скажешь
Ну я на Flask сейчас пет-проект делаю, задавай свои вопросы. Стек: Flask + Python3 + SQLAlchemy + PostgreSQL + Angular 1.x
Гугли "big apps with flask" и смотри на GitHub. Есть одна только проблема: раньше был импорт
from flask.ext.имя_пакета import что_то
а сейчас принято делать так:
from flask_имя_пакета import
например
from flask_sqlalchemy import SQLAlchemy
И так везде, от чего у меня дико бомбит. А ещё пока Blueprint'ы не включишь в основном файле приложения, у тебя ни модели, ни маршруты не подтянутся. BUTTHURT на ровном месте.
>Стоит ли ньюфане послушать совет копипасты
Не вижу смысла. Каждый дрочит как он хочет. Я покурил библы по отправке сообщений с мыла на мыло и работу с ботом телеги, и за день (8 часов) накатал нужный скрипт, который продал за 10$. И толком синтаксис не разобрал.
уважаемые доны помогите разобраться в двух вопросах.
По условию задачи мне нужно что бы возвращалось True, если в введенном слове word_in есть хотя бы один символ из введенной строки letter_in. На сколько я понимаю это реализуется через Return. Но я уже не первый раз наталкиваюсь на то, если я вызываю return true или False мой цикл останавливается. Т.е. если первый символ из letter_in не будет в слове, сразу стоп и дальше не проверятеся. Что с этим делать?
И второй вопрос, как реализуется приглашение к вводу в смой функции. Я понимаю как сделать через 2. (ну как в примере). Я только начинающий не гоните ссаными тряпками.
Хуй соси, гнида.
Ты не поверишь, пишу в каждой функции пустой ретурн, чтобы глазами зацепляться за конец функций. По другому мозг просто не парсит.
>>976982
Пасиб, бро. Сегодя отлегло немного, но питон все равно ужасен после няшного шарпа.
Сегодня понадобилось три конструктора одному классу, но в пистону такое излишество нинужно.
Правильный ебанутый путь на пистоне:
M1 = MyClass(SomeArg); # это сразу готово к работе
M2 = MyClass.FromOtherArg(OtherArg); # внутри будет конверт аргументов, либо адская пидорасня с доопределением именованых аргументов конструктора
M3 = MyClass.Clone(M2) # тут будет полный пиздец с выковыриванием внутренего состояния объекта и запихивание его в аргументы конструктора. Внутренее представление? Не, не слышал.
Как это все будет на божественном шарпе:
M1 = new MyClass(SomeArg);
M2 = new MyClass(OtherArg);
M3 = new MyClass(M2);
И такой уродливой поебени, называемой питонвей, просто до жопы.
Ну ты понел, что пост выше это тебе :3
ты можешь в инициализаторе проверять тип и количество аргументов
Фрилансер уровня /pr, охуеть.
Бамп вопросу
Только и слышно таких теоретиков которые абстрактную херню обсуждают, пока ровные ребята делают вещи вполне конкретные.
Бамп
Может кто-то пояснить за
> You can also use the Form.field_order argument to a Form to override the field order. If a Form defines field_order and you include field_order when instantiating the Form, then the latter field_order will have precedence.
> include field_order when instantiating the Form
Это где нужно сделать ?
То есть сам порядок я определяю в forms.py, а последнее я где определить должен ?
Хуйню написал.
1. Никогда не бросай Exception. Либо сделай свой класс на основе BaseException, либо используй другие встроенные исключения.
2. Код в блоке finally будет выполнен всегда, даже если у тебя исключение (и даже если оно у тебя в блоке except)
>в джанге наконец то можно менять формы в темплейтах
Что ты имеешь в виду?
Я итерирую по полям формы и рисую их как хочу.
Спасибо за ремарку.
Да, в нормальном случае finally всегда выполняется. Но в моем случае код работает, после raise выполнение останавливается.
Эксепшены действительно надо бы переписать, думаю в них можно засунуть и отправку сообщения об ошибке обратно юзеру чтобы не пихать каждый раз в логику.
Как бы ты написал этот код?
Я имел ввиду виджеты
Когда завезут нормальную доку к апи, как в жабе? Как вы ищете в этом говне.
Я не могу определиться с модулем который следует для этого выбрать. Основная подборка из сетки https://djangopackages.org/grids/g/calendar/ (пикрелейтед). Большинство модулей достаточно актуальны. Мне нужна хорошая поддержка повторяющихся событий на back-end и наличие CBV для отображения событий текущего дня. Наличие и качество виджетов не имеет значения.
Я не знаю и никогда этим не занимался. Это была единичная акция помощи убогим, которые не могут в гугл.
Да как вы заебали... EMACS, Atom, Sublime, Pycharm...
Если ты про лай фак просто писать руками какие хочешь элементы формы с теми же именами что у соответствующей формочки в forms.py то как бы не ново
А если что другое расскажи подробнее
Вообще есть pyinstaller. Но туда пока питон 3.6 не завезли. Хотя, пишут что можешь попробовать заюзать дев версию.
Ничего.
Выбирая скриптовые языки, ты осознанно выбираешь коллег, читавших Лутца с его водой и явно хуитой на которую всем похуй.
Брось каку.
>Чаво достаточно знать для ныряния в джанго
Тащемто для разработки на джанго нужно знать минимум, который и дает Лутц. Читай документацию если не нравится автор. Хотя, может у тебя определенная задача? К примеру: нахуй нужен джанго если задача - публикация статей? Ставишь вордпресс и все.
>Выбирая скриптовые языки, ты осознанно выбираешь коллег, читавших Лутца с его водой и явно хуитой на которую всем похуй
Не читал лутца, программирую на пифоне за деньги. Где твой лутц теперь?
Я писал планировщик событий с нуля. Там правда не было повторяющихся событий, но вроде не сложно сделать.
CBV в обычном понимании не было, обмен данными шел через rest, календарь рисовал fullcalendar.
Не в том дело, что останавливается. Дело в том, что перехватывается совсем не то исключение.
Вот тебе, помедитируй - https://ideone.com/7oYji9
>Как бы ты написал этот код?
Да тоже с исключениями, только убрал бы нахрен finally и бросал бы кастомные исключения
>Не читал лутца, программирую на пифоне за деньги. Где твой лутц теперь?
Документация? В других книгах то ваще нихуя нет по сравнению с Лутцем.
Сайт работал в кодировке UTF-8. Конфигурация сервера не соответствует требованиям.
Для продолжения установите настройки PHP: mbstring.func_overload=2 и mbstring.internal_encoding=UTF-8.
dive into python страниц 150, потом документация и гугл. Нахуй что-то ещё?
Ой, соррян
хочу запускать его в баше, на utf-8 регулярка не работает
какую кодировку взять?
Не хочется собирать из говна и палок свой енкодер/декодер.
всё, я просто не указал версию питона
Миллионы онлайн компиляторов/интерпретаторов. Можешь вообще поднять на aws ssh сервер
Существует. Гугли внезапно PortablePython или WinPython. На андроид еще кривой порт есть, но для обучения имхо покатит.
А я призываю богов мультипроцессинга.
Необходимо запустить внешний скрипт так, чтобы он мог менеджиться из родительского скрипта модулем мультипроцессинга как обычно запущенный процесс. То есть реализовать функционал такого псевдокода:
bash_command = 'python script.py'
pool = multiprocessing.Pool()
pool.apply_async(subprocess.call, bash_command)
Чтобы в script.py например отрабатывал multiprocessing.Lock
В приведенном примере, очевидно, результат вызова субпроцесса в рот ебал родительский скрипт и никак с ним не связан.
Можно, но лучше не прямо копировать, а взять только список установленных пакетов:
pip freeze > your_packages.txt
И на другой машине:
pip install -r your_packages.txt
Мне не нужно расковыривать любой .jpeg, нужно сначала сжать, а потом в нем ковыряться. Должная же быть какая-то либа для этого, PIL и openCV не позволяют этого делать, ну или ткните кто-нибудь.
Оче благодарен. Проблема просто именно в том, что на другой машине почти наверняка не будет выхода в интернет, а перенести пакеты нужно.
Тогда просто скопировать это вариант, но боль может быть в зависимостях от системных библиотек которых не может быть на второй машине. На всякий случай можешь еще стянуть пакеты в архивах через pip download и если копирование директории не взлетит, проставить их вручную, но если есть зависимости от других пакетов, то и тут можно соснуть, но по-идее должно сработать.
Он у меня не создает таких папок как в примере, и соотв. activate скрипта там нет. ???
ps нашел activate в другой папке, буду пробовать
Вопрос такой у меня, можно ли на этом вашем питоне/пайтоне игры делать? Я художник, но мозгами не обделён так что в какой то кодинг когда то мог. Сложно ли вкатиться зная допустим основы основ кодинга?
В гугел пробовал игры видел но интересует десктоп
Юнити? Спасибо анон сейчас посмотрим.
Глянь GDevelop, мне понравился.
https://game-development.zeef.com/david.arcila
Вот годный список движков и вообще всего по геймдеву.
Питон не советую брать для разработки игр, так как под него всего несколько библиотек - мертвый и во всех смыслах устаревший pygame и никому ненужный pyglet. Я бы на твоем месте посмотрел в сторону Godot - там похожий на питон язык и, в отличии от всякие юнити/уе4, он абсолютно бесплатен. Но все зависит от того какого масштаба/жанра ты собрался пилить игры.
И лично я бы сейчас попробовал бы запилить игру под десктопы на MonoGame с набором плюшек от https://github.com/prime31/Nez
Кокая няша
Отсутствие типов, тормоза, динамическое связывание (т.е. зависимости от версий библиотек) и т.д.
Ну значит у тебя 4 совпадения, из которых ты делаешь слайс от второго до конца.
сформулируй задачу четче и полнее
тебе надо сжать любую картинку и показать ее dct-коэффициенты?
тогда scipy гугли
по одному быдленышу можно считать, что гвидонята в большинстве своем агрессивное быдло?
бамп
>тебе надо сжать любую картинку и показать ее dct-коэффициенты?
После сжатия нужно будет менять dct-коэффициенты.
>тогда scipy гугли
Не подскажешь, что именно оттуда может помочь?
>После сжатия нужно будет менять dct-коэффициенты.
Короче, последний раз - что конкретно тебе надо сделать. В полном объеме опиши. Или нахер иди. Клещами из тебя тянуть твою херню, чтобы твои же проблемы решать мне нахер не надо.
Пережать изображение в jpeg, после этого получить доступ к dct-коэффициентам получившегося jpeg и внести в них изменения с помощью имеющегося алгоритма, после этого сохранить jpeg.
так хули удаляют постоянно как декомпилировать такой файл?
я тебя тоже не понял что такое subprocess. Ну ладно щас распишу
Есть игра Angels with scaly wings визуальная новелла на английском без русификатора. Мoй уровень инглиша не позволяет комфортно читать диалоги поэтому я хотел бы их сначала перевести для этого мне их надо найти. основной архив .rpa я вскрыл, там куча файлов с таким расширением(скрин1), я надеюсь что именно там найду диалоги. в одном из тредов посоветовали вот эту(см скрин2) но я не понял как ей пользоваться.
Какие подводные камни? И главное какие плюсы, собственно
>Пережать изображение в jpeg, после этого получить доступ к dct-коэффициентам получившегося jpeg и внести в них изменения с помощью имеющегося алгоритма, после этого сохранить jpeg.
надежнее будет все делать руками
потому что нельзя просто взять изменить коэффициенты и сохранить их, надо их после этого квантизировать и сжимать хоффманом
курсач штоле?
http://bugra.github.io/work/notes/2014-07-12/discre-fourier-cosine-transform-dft-dct-image-compression/
https://inst.eecs.berkeley.edu/~ee123/sp16/Sections/JPEG_DCT_Demo.html
*хаффманом
я почитал уже давно, но ни одна из прог не помогла. я с их помощью только .rpa вскрыл, а .rpyc не выходит(да там и написано что может не получится), а те которые с гитхаба, выдают ошибку или просто не работают.
Идет итерация, после его буква добавляется в переменную, но почему возвращается с конца, а не сначала?
я не фронтендер, я хуячу всё на джанго, и не просто так спрашиваю в питонотреде - мне интересно знать мнение именно таких же питоно-девелоперов как они свои пет-проекты обустраивают и почему именно так
Я тоже не в курсе про эту программу.
Короче, что у тебя делает "script.py" и как ты хочешь его "менеджить"?
очевидно, каждый раз ты берешь старую переменную и прибавляешь следующий символ в начало.
https://github.com/CensoredUsername/unrpyc
Ставишь питон 2.7, далее открываешь в папке с unrpyc командную строку и пишешь туда:
C:\Pyhon27\python.exe unrpyc.py <путь до rpyc файла>.rpyc
Лично я в своих пет-проктах не использую фреймворки, фигачу просто семантический flexbox на sass, потому что ненавижу простыню из классов типа .column.xs-hidden.has-success.right-align
В чужих проектах зависит от множества факторов (что уже было, чем умеет пользоваться команда, что легче, что проще и т.п.)
Возможно у нас недопонимание.
"Менеджить" я его не хочу мне вообще этот скрипт не нужен, мне нужно содержимое .rpyc файла так как я считаю что именно там лежат диалоги(в любом случае таких файлов много и если я разберусь как их вскрывать то просмотрю все и когда-нибудь найду диалоги)
у меня такой возник вопрос, ты в эту игру без инета пробывал играть? так как rpyc обычно связано с рпц библиотекой, т.е. диалоги вообще легко могут на сервере лежать.
естественно зависит, пот капотом кода автора происходит следующее. Выделяется новое пространство в памяти, в него нужно скопировать первый символ и потом всю строку, скорость копирования зависит от длины строки, как ни крути. Т.е. с учетом цикла квадратичность алгоритма вполне логична.
пробовал разобрать файл с тулзами типа Easy Python Decompiler или uncompiler?
this:
>>978531
строки иммутабельны, поэтому вот так
нельзя добавить к строке символ, можно получить новую строку, равную конкатенации аргументов
строки иммутабельный почти во всех высокоуровневых языках, в примере автора лучше юзать список, и потом сделать джоин в строку, то гда алгоритм станет линейным.
>в примере автора лучше юзать список, и потом сделать джоин в строку, то гда алгоритм станет линейным.
умничка!
Пит буль
>Easy Python Decompiler
>uncompiler
неа, спасибо за совет обязательно попробую как будет время
Нет, это не так, здесь еще будет кастомный трейсбек и отправка в logging. Но пока так.
По делу поможешь или нет?
пытаюсь шарить джанго-рест
так вот
есть у меня моделька объекта с полем даты
и мне нужно через апишку отдавать эти объекты сгрупированными по дате. то есть чтобы было что-то вида:
{
'date1': [
objects,
with,
this,
data
],
'date2': [
objects,
with,
this,
date2
],
...
}
я хызы как это обернуть использованием сериализаторов
По идее ты оперируешь все теми же джанго кверисетами.
queryset.order_by('-date') может работать.
а как их использовать?я догадываюсь только что надо cmd через папку запустить, а что дальше я не понимаю. Смотрю в этот README и все равно не въезжаю что и как(щас пытаюсь юзать Uncompyle)
расширение хуешение, меян плавит уже о твсех этих форматов.
Проблема в том, что по-видимому простым POST запросом дело не обходится и где-то на клиенте генерируется ещё кое-что (CSRF-токен) и где-то цепляется к запросу(?).
В инспекторе браузера в параметрах запроса ничего такого нет, только мыльце и пароль.
Решил, что возможно какая-то js-параша исполняется при отправке формы через браузер, попробовал использовать dryscrape - та же хуйня, 403 с ошибкой про CSRF.
В чём может быть причина и как можно в этом разобраться? Попробовать отловить сниффером что конкретно отправляет браузер?
Что вообще сейчас используют, в эпоху веб 2.0 с вездесущим js?
Я уже видел это, но тут рассказано как сделать SPA, а мне нужно именно отдельные страницы или элементы на страницах написать с тяжелым использованием JS, но так чтобы это не превратилось в спагетти и я мог использовать всякие сборщики Желательно вебпак. Или может сразу стоит все писать под SPA?
>Здесь есть успешные?
>>978678
>кто-то пробовал?
Вы че тут совсем охуели? Или задавай вопрос или иди нахуй.
Если вручную написать 'X-CSRFToken' куки то действительно работает, спасибо анон.
Как дела?
имхо такое нигде не опишут - тебе нужно взять кусочек SPA-архитектуры, слепить его с привычной архитектурой джанги и сделать так, чтобы не воняло
>потому что нельзя просто взять изменить коэффициенты и сохранить их, надо их после этого квантизировать и сжимать хоффманом
Я это понимаю.
Нашел реализация jpeg на путоне откуда получается выдернуть коэф-ты, но здесь нет кодирования ни Хаффманом ни RLE, может есть что-то подобное, но с кодированием.
https://github.com/javiribera/jpeg-encoder
>>978439
>надежнее будет все делать руками
То есть руками?
>То есть руками?
руками поделить преобразовать картинку в YCbCr, руками поделить на квадраты, dct можно сделать функцией из scipy, руками исковеркать коэффициенты, руками их собрать зигзагом и сжать, руками сериализовать в жпег
Именно это я и сделал.
Возможно ли полученный жипег теперь разобрать на коэф-ты и снова собрать?
Какие нужны обратные преобразования?
Кодю сайты для себя и по работе на Джанго, всем доволен.
Ввиду полного незнания js ощущаю себя совершенно неполноценным, даже когда надо с жиквери взависимости от выбранного значения <select> показывать определенное поле в админке Джанго, пряча соответствующие поля для остальных выборов "селекта".
Если бы сегодня вкатывался в программинг - наверное начал бы с жс.
Но с другой стороны Джанго клёвый и кодить на нем одно удовольствие в 9 случаях из 10, хоть своих культурных особенностей там тоже хватает - взять хотя бы необходимость постоянного дрочиться с урл / вьюшками прописывая одно и то же кучу раз в разных местах. Короче скорее рад, чем не рад.
Эх, вот бы вкатица в этот ваш джанго..у меня руки пока что выросли только для парсинга и кулхацкерных скриптиков.
django by example
наверни и ты в теме половины самых востребованных задач / самых модных хуйовин типа celery / rabbitmq
Если совсем тупой как я - просто переписуй проекты из книги пока не снизойдёт озарение. Я вкатывался считай сразу как доучил основы питона, без какого-либо бекграунда в программировании и веб-деве вообще, разве что хтмл 4 ещё чуть помнил.
Сколько займёт времени я хз - мож ты по пол часа вечером почитывать будешь, может целый день хуячить - кто ж знает.
Чё у неё с еблом?
Одно от другого не зависит. Ты для своего проекта выбираешь сам версию питона.
Нет.
А суть бота какая?
За пол года от полного нуля в программинге ну, я десять лет не кодил нихуя, толку что я по древнему пхп4 дошаблонному помнил <?php echo $zalupa> до первых сайтов "в продакшн"
Уже двушку отмотал "в кодинге", идей дохуя и больше, радостных клиентов тоже в достатке, руководство зарплату подняло в два раза.
Ощущение что не знаю нихуя. Ебусь с GeoDjango и в полом ахуе.
Но как бы то ни было, пока таких задач что бы я не смог в итоге проебавшись реализовать не было.
Используй pyenv с алиасами, и не нужны нахуй эти виртуалэнвы галимые.
Круто быть тобой.
В смысле? Ему платят за то, что он кодит. А я бы за еду покодил, бесценный опыт, тыры пыры..
Он написать без ошибок не может, а ты/он сам себя хвалишь.
Зачем ты тащишь в экшепшны какой-то update?
Исключения должны быть маленькими и злыми, типа raise TelegramDoesNotExistError('No user with this telegram')
Что-то делать с сообщениями имеет смысл в месте, где обрабатываются исключения.
Пример:
s = "aba"
>>>
{
"aba":1,
"ab":1,
"ba":1,
"a":2,
"b":1
}
Точно где-то подобное видел.
Так-то оно так, но вот моя логика немного другая. По сути задача ексепшена показать трейсбек/стукнуть в логгер и тип ошибки. В данном случае, человек пишет боту, и трейсбек в виде того самого месседжа должен быть ему показан, а не консоле/логгеру. Логика обработки этих эксепшенов всегда одна и та же. Можно, конечно, сделать базовый класс с таким же коструктором, который просто будет дополнительно транслировать self.message через reply_text, но все равно параметр update для этого придется передать.
>>978834
>>978903
>>978908
Ваша беседа здесь только убогая.
Да, в целом это неплохая идея. Правда смысла в функции def send_message_to_client особого нет, т.к. помимо самого мессаджа она должна еще принимать объект update, в котором инфа о пользователе который стучит в бот и сам метод ответа. Не намного проще самого update.message.reply_text(msg).
Я сейчас сделаю именно такой рефакторинг и пойду дальше, потому что этот дроч на правильный стиль и модульность значительно замедлил реализацию самих идей. Еще куда более муторная хуйня предстоит.
Спасибо за ответ.
все сворачиваемся вопрос отпал
>Именно это я и сделал.
>Возможно ли полученный жипег теперь разобрать на коэф-ты и снова собрать?
>Какие нужны обратные преобразования
ты блять чего-то похоже не понимаешь
у тебя уже есть доступ в программе к dct-коэффициентам, если ты сам собирал jpeg. В не просто делал cv2.imwrite(kartinka,'kartinka.jpg')
ты курсач чтоли делаешь? чо воюем так плохо?
>Точно где-то подобное видел.
collections.Counter + itertools
http://stackoverflow.com/questions/12945029/substrings-of-a-string-using-python
Не совсем курсач, но что-то вроде, да.
Доступ к коэффициентам есть на стадии сборки жпега, после того как я вывел его в файл, как мне получить коэффициенты снова?
>Доступ к коэффициентам есть на стадии сборки жпега, после того как я вывел его в файл, как мне получить коэффициенты снова?
ты тралишь?
если код на питоне, то ПРОСТО обратиться к той же переменной,
Я, наверное, еблан и не правильно объяснил.
Я собрал жипег, сохранил его в файл - работа скрипта завершилась.
Мне нужно после сжатия из получившегося файла вытащить коэффициенты, не привязываясь к тому, что было во время сжатия, у меня есть только жипег файл, который я сам собрал.
>Мне нужно после сжатия из получившегося файла вытащить коэффициенты, не привязываясь к тому, что было во время сжатия, у меня есть только жипег файл, который я сам собрал.
Блять зачем? Если ты можешь в первом скрипте отдельно сохранить и коэффициенты DCT и потом во втором скрипте их обработать?
Я вчера от скуки написал функцию отправки голосовых сообщений, на gtts, т.к. сейчас не имею микрофона. Как писать бота даже не представляю, на if/else только даун будет писать как я понимаю.
изучаю пайтон 2 дня
При том, что я не представляю как писать бота. Как он должен правильно обрабатывать сообщения и отвечать на них нужными словами? В моей голове только
if привет
>привет
Ну загугли ВК + бот + питон и чего в угадайки играть?
Да он мне как бы и нахуй не сдался, просто констатировал факт. Рано мне ботов писать, я второй день в pr плаваю
Ни ни хрена себе, на двадцатом сообщении стало ясно что тебе нужно, заебись ты формулируешь задачи.
Короче тебе нужно "руками" парсить jfif, руками разжимать хаффмана (две штуки), затем анализировать коэффициенты dct. Потому что существующие библиотеки не дают доступа к данным dct.
Структуру jfif узнаешь в гугле. Для парсинга используй struct.
Я бы пожелал тебе удачи, но не уверен, что она тебе поможет.
Бамп вопросу.
Переписал я field_order в формах, где еще что нужно сделать, чтобы было в таком порядке как я хочу. Я вообще понять не могу, почему у меня эти формы пидорасит каждый раз как я сервер перезапускаю.
Алсо, еще один вопрос.
У меня главная страница новостей, есть несколько категорий, хочу чтобы на главной отображалось категория и несколько последних новостей под этой категорией, где такое лучше реализовывать в views или template ?
сажа приклеилась
Не знаю почему этот ебанат >>978396 ответил за меня со своей проблемой, но и хуй с ним.
script.py юзает некий не thread/process-safe функционал и стоит задача запускать множество этих скриптов на одной машине параллельно. Очевидно, когда два скрипта пытаются юзать небезопасный функционал, все наебывается, поэтому логично его обернуть в multiprocessing.Lock, но боль в том, что запуская скрипт через субпроцесс, у нас нет ссылки на него как на объект процесса multiprocessing.Process, мы не можем им манипулировать, он в свободном плавании в своем скоупе и ему похуй на Lock, он инитит его в каждом скрипте для себя и сразу же захватывает, то есть Lock это не shared object для всех процессов запущенных через субпроцесс.
Я, в общем, кажется, нашел решение, правда еще не заимплементил. multiprocessing.managers.SyncManager например позволяет запустить на порту хоста сервер который может раздавать shared objects любым процессам, то есть можно функционал обернуть синглтоном Lock'a который берется из менеджера, и неважно, через субпроцесс или еще как процесс запущен, по-идее должно сработать.
Нашел вот эти три книги:
Изучаем Python
Программирование на Python. 2 тома.
Просто слишком дохуя страниц, а я запланировал одну книгу для изучения питона и одну для изучения джанги осилить. А потом упарывать официальные доки и гайды.
Ничего важного не проебу, если пройду мимо двухтомника Лутца?
Сейчас допью пивас с чипсиками и пойду домой, обчитываться. Питон на пеке уже установил и джангу
https://pastebin.com/GpPKvJFd
Двухтомник целиком вообще читать смысла нет, туда можно позаглядывать для поиска решений конкретных ситуаций, впрочем, можно и просто загуглить, так как книги устаревают быстро, тем более, если ты про переводные издания. А книгу с крысой если питон не первый язык, который ты учишь, можно прочитать за майские праздники, при этом успевая ещё и шашлычок пожрать. Я устраивался на работу питон-кодером года 3 назад и прочитал её за выходные, всё нормально, до сих пор там работаю.
да, более чем. JS востребован больше, но там и конкурс соответственно больше и платят меньше. на PHP вообще большая часть работы — это всякие там magento и drupal, которые оплачиваются весьма грустно.
Чот вместо благородных лилий получаются какие-то хуйцы
Нужно чтобы его логика зависела от предыдущих запросов. Интересует не столько код, сколько принцип.
Вот сам нашел немного пердежа в лужу, но слишком размыто.
Чисто посмотреть как люди делают
https://python-telegram-bot.readthedocs.io/en/latest/telegram.ext.conversationhandler.html
Ахуенна. А я наивно полагал что смогу сервис написать за месяц. Реальность начинает обретать свои очертания. Сдаваться не буду, конечно.
Я пишу не бота а сервис с интеграцией бота. Да, как оказалось, не могу.
Твой способ, вероятно, будет работать (или уже работает), но я тут подумал - если ты можешь свободно редактировать script.py, зачем вообще заморачиваться с запуском его через субпроцесс, почему не импортировать из него необходимый функционал типа https://ideone.com/ghRoHF ?
спираль от твистеда
Как вариант напиши себе простой скриптик, полезный в быту, прикрути к нему графическую оболочку, сделай из него экзешник, примотай к этому дерьму веб морду. Если все ок, то придется что-то выбрать из всего разнообразия.
Читни синк пайтон
Дверь в тайную комнату.
Флаг анархо-капитализма (правый нижний угол).
Если хочешь узнать больше гугли в арихиваче анкап-треды(недавно была серия из 25 тредов) где подробно за него поясняли.
К сожалению в большинстве манямирков с пика, айфон тебе не положен, а в некоторых даже макдака нет.
развернул nginx, django, channels спрашивай свои ответы
К сожалению, приведенный в примере script.py в реале является огромной ебанью в сотни тысяч строк и потоконбезопасный функционал лишь песчинка, которую нельзя отделить, и рефакторить что-либо не вариант.
Мое решение не сработало, кстати. Это было бы ок, будь у меня мультипроцессинг здорового человека с общей точкой входа для всех процессов и запуском через менеджер или другую созданную для этого сущность, но с субпроцессами(а иные формы запуска в моем случае невозможны) все няшности из модуля мультипроцессинг сасают.
Пришлось заюзать такую штуку:
http://fasteners.readthedocs.io/en/latest/examples.html#interprocess-locks
С ней все ок, няшно и лаконично замок работает, хотелось просто избежать юзания сторонних либ либо запиливания велосипедов(а то тоже начал ради фана пилить свой замок на основе файлов в качестве шаред-объектов)
А ты разве для себя памятку не накатал? Тип, память хорошая, да?
Короч, либо пили нормальную статью, чтобы люди приобщились, либо иди нахуй со своим "на вопросы поотвечаю". В первом случае еще и портфель свой апнешь, во втором профита нет.
зачем памятка? конфиги же есть. да я бы написал конечно, но это реально долго и вломы мне ваще)
>начал ради фана пилить свой замок на основе файлов
Лол, это было следующее, что я хотел тебе предложить.
Тред не читал. Питон может плохо справляться с синхронизацией в multiprocessing, потому что у разных ОС традиционно очень разные подходы к синхронизации потоков и процессов. Если очень не хочется использовать сторонние библиотеки, я возможно взял бы модуль ctypes и начал бы дергать функции POSIX или WinAPI, в зависимости от целевой платформы. И там и там есть хорошие именованные семафоры, глобальные для всей ОС.
Спасибо, была лишняя буква в POST-запросе. Планирую запилить FaceAPP бота для ВК.
cron, celery
продублирую тут
Подскажите по SQLite - как в синтаксисе команд использовать структуры данных, например, списки Python ? Например, ... IF table.var IN %мой список mylist=[1,2,3....]%
В описаниях не могу найти или ищу не то.
UPD то, что нашёл - это только упрощение варианта с превращением списка в строку и вставки его в команду как строки
Модуль sched - из вариантов попроще да попримитивнее
Хочу подучить пистон, да примкнуть к ребятушкам.
А то читаю код, и нихуя не ясно. Надо стать профессиональнее32
pymongo, к примеру.
У питона нет баз в принципе, базы - это базы, а есть библиотеки-обёртки к базам данных.
Кстати, годная тема.
Я тоже читаю и не особо понимаю, документировать код это видимо не для них, странно.
Пикрил самое начало ТЗ, дальше идет в таком же духе все + примеры POST/GET запросов.
На данный момент я это делаю маргинами, но уверен, что есть нормальный способ.
Допустим, я хочу сформировать словарь из туплей. Для словаря нужна пара имя:значение. Можно ли как-то получить имя самой туплы в виде строки, например, 'mytuple' ? Список встроенных свойств dir (mytuple) ничего похожего не выдаёт, в интернете тоже ничего не нашёл.
Можно использовать кортеж как ключ словаря ващет.
https://pastebin.com/0dcBbpjn
Пиотнисты, все че там usnooley? Почему не перекатываемся?
Ну это немного не то, но все равно спс
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
ПЕРЕКАТ >>981769 (OP)
впринципи правельно
подсказка: корутины тут не причем, GLOBAL_COUNTER у тебя обьявлен в модуле __main__
К примеру, с помощью requests.
Это копия, сохраненная 20 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.