Вы видите копию треда, сохраненную 26 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Код вбрасывать в тред через https://ideone.com/
Прошлый: >>745418 (OP)
Да ты что?! Типа у uart/eth/milstd1553 нет протокола обмена? Стартовые, стоповые, контрольные биты и тому подобное. Так-то они все по двум проводам передаются.
Рекомендую ознакомиться с моделью OSI для понимания различия интерфейса от протокола.
Вот стандарт на модель OSI: http://standards.iso.org/ittf/PubliclyAvailableStandards/s020269_ISO_IEC_7498-1_1994(E).zip
Ткни-ка, где там это различие?
Пока вижу только:
> 5.2.1.9 (N)-protocol: A set of rules and formats (semantic and syntactic) which determines the communication behavior of (N)-entities in the performance of (N)-functions.
Под это >>753701 явно подходит.
Рекомендую такие простые вопросы, хотя бы, гуглить.
>При передаче сообщений оба участника сетевого обмена должны принять множество соглашений. Например, они должны согласовать уровни и форму электрических сигналов, способ определения длины сообщений, договориться о методах контроля достоверности и т.п. Другими словами, соглашения должны быть приняты для всех уровней, начиная от самого низкого уровня передачи битов, до самого высокого уровня, детализирующего, как информация должна быть интерпретирована. Такие формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколами.
>Протоколы соседних уровней, находящихся в одном узле, взаимодействуют друг с другом также в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила принято называть интерфейсом. Интерфейс определяет набор услуг, которые нижележащий уровень предоставляет вышележащему.
http://citforum.ru/nets/tpns/glava_17.shtml
В твоем компуктере интерфейс один (Ethernet) а протоколов много (POP, HTTP, SSH и прочие).
>После запуска скрипта консолька нахуй закрывается, не успеваю увидеть результат. Чо делать ?
Скриншоть быстрее
Пиздец, ты даже не можешь прочитать то, что сам процитировал?
> Такие формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколами.
В каком месте Ethernet не протокол по этому определению? Уровень один, узлы разные, компоненты есть, сообщения есть, правила есть.
Ты необучаемая собака, еще раз почитай что такое интерфейс. Если эзернет уже протокол, тогда какого хуя придумали TCP/IP?
Вот тебе, как самому необучаемому разжевано.
http://www.developing.ru/com/interface_or_protocol.html
>Следует заметить, что при описании взаимодействия в computer sciences разделяют два понятия - "интерфейс" и "протокол". Первое из них обозначает статику этого взаимодействия, т.е. что именно, в каком формате и на каком месте должен предоставлять объект. Второе обычно обозначает динамику взаимодействия - чем именно и в какой последовательности должны обмениваться взаимодействующие объекты. Это разделение существует, оно традиционно, хотя… хотя и интерфейс и протокол относятся к одному и тому же явлению. И когда их иногда смешивают в одну сущность (которую называют то "интерфейс", то "протокол") в этом нет особенной ошибки. В самом деле, чем "спецификация в пространстве" (интерфейс) отличается в своей сущности от "спецификации во времени" (протокол)?
Дебилушка, для кого пишут слово "уровень"? Понятие "абстракция" тебе хоть немного знакомо?
И вот такие люди потом пишут сетевые приложения. Неудивительно, что в отрасли кадровый кризис.
Так, пордон, обосрался. Вкладывал в интерфейс понятие преобразование информации в физические параметры. Посыпаю голову пеплом.
Поставь ожидание нажатия клавиши в конце проги. Не пиши в блокноте. Запускай из cmd. Вариантов уйма.
Я был, почему-то, категорически уверен в своей версии. Хорошо что я работаю в сфере фастфуда, а не с ПО.
Молодец. Также не забудь, что понятие "интерфейс" на самом деле общее, и любой протокол может быть частью "интерфейса" к некой системе (не в терминах модели OSI, а вообще, по жизни).
В такие моменты принято вспоминать синдром Данинга-Крюгера. Только проблема не в твоей ошибке, а в омерзительной манере общения.
> омерзительной манере общения
Это /зк/, здесь так заведено, к сожалению или к радости.
другой анон
>На этом форуме это простительно.
Дело не в морали или культуре поведения. Доказывать свою точку зрения оскорблениями бессмысленно.
>Это /зк/, здесь так заведено
Здесь нет правил, каждый ведёт себя как хочет и каждый волен отвечать или игнорировать, быть человеком или не очень. Нет никакого "заведено".
Но это всё лирика. Тред совсем не об этом.
Реально ли запилить сервер по рассылке смс-сообщений по базе номеров? Около 0.5 млн в неделю.
В самом конце скрипта вставь input("hui")
>Нуль в питоне и программировании.
Ну на самом деле всем похуй.
>Реально ли запилить сервер по рассылке смс-сообщений по базе номеров? Около 0.5 млн в неделю.
Реально запилить.
Debian jessie.
Более чем. Я могу такое сделать где то за 10к рублей. Но вот готов ли ты платить 0.5-1 млн рублей в неделю за отправку писем?
https://www.jetbrains.com/pycharm/python-developers-survey-2016/
Поставь 3.5 и делов. Вообще ставь все версии питона что есть, они между собой не смешиваются. Главное virtual environment настрой на нужную в конкретный задаче
> This correlates with results from other independent research showing that the number of scientific Python developers is growing steadily and is projected to catch up with web development in the foreseeable future.
Да на разлив стопки зайти, там сплошные пандасы и нумпаи, больше, чем джанго.
> A large number of respondents also specified Flask as their framework of choice.
Кстати, а почему фласк такой мёртвый? Там нечего больше улучшать, что ли?
> code coverage
> never or almost never
> 46%
Вперде.
Убрал \b, но в питоне не находит все равно почему-то.
Ах да, если конкретно что мне нужно - это заменить конечное множество слов в скобка, т.е. {привет} {как} {дела} на другие слова в скобках.
Заработало, я тупанул. Спасибо, пр.
Еще мб это не массив. еlement.direction_list.__class__ показывает unicode. Но в консоль print еlement.direction_list, без кавычек "", но со скобками [], как должно быть.
Нету ошибок в разметке.
Ох, только щас увидел, заработало.
http://ideone.com/8p9umH
itertools.accumulate
Я линукс-админ и везде сейчас пишут python-python при устройстве от 70к.
Накидайте мне задач для практики.
Я все делал на баше, но крупными проектами никогда не занимался. Скрипты простые и переписывать их на питоне нет смысла.
Была мысль изучить jenkins, но что именно реализовать нет идей.
С меня как обычно.
Для админства как раз и хватит переписать баш-скрипты на Пистоне.
Анализаторы логов и состояний сервера, рассылка отчётов и т.д., ничего сильно сложного.
Почитай ещё "Python в системном администрировании UNIX и Linux".
Нужно сделать простенький фронт (буквально пара форм, пара tree view, несколько кнопок), сделать несколько простых (по моему мнению) функций для работы с файловой системой и натянуть их на фронт, сделать всё это нужно до вечера. Кто может таким заняться, пишите скайп, там расскажу подробнее и о цене договоримся, если вы не альтруист.
40-60 копеек одно смс, такие расценки встречал. Но хз, я диван.
Напиши скайп, там поговорим
Если тебя устроит, что готово будет только завтра, то пиши.
Ищи в скайпе: aw!Hnonym.whiteANUS1m/yandexPUNCTUM1]kru
не хватит. ты думаешь перепишу я скрипты отправки логов и тп и это проканает?
просто смешно
книжку листал
очередной скам с маленькими примерами, которые из тебя сделаю только скрипт-киди не более того
задумался о том, как перестроить свое мышление и получать уже адекватные суммы за свое время
пока -> python угораю с os, потом думаю пилить сайт на джанго с БД (для опыта с nosql и тп)
Вот, сам же всё знаешь.
Статическая потому и статическая, что не зависит от текущего состояния объекта. Там даже self не передается. Удобно для того, чтобы какую-то функцию держать внутри класса, потому что по логике она принадлежит ему.
Методы класса - первый параметр cls - ссылка на сам класс. Можно использовать например для AClass.get_all() или че нить в этом роде.
петян, а вот, допустим, я написал обёртку вокруг мутагена, которая будет возвращать список тегов аудиофайла. и хочу использовать её как "инструмент" без создания инстанций. мне заморачиваться и делать всё static? то есть, class функции будут кошерны только тогда, когда есть объекты класса и к ним всем нужно что-то применить?
https://ideone.com/xvpE0C
Первый - это темплейт, который мне предлагает использовать Sublime Text, когда я начинаю писать новый класс. Второй - это если я пишу сам.
В чём там охуенность от наследование от объекта и вызова суперкласса?
ok. могу теперь спокойно спать.
От object оно наследуется только в третьем питоне, во втором питоне без указания наследования от object будет создаваться класс старого типа.
Спасибо за исторический экскурс.
что там в пистоне-то, а? от PEP8, в его форме, я хочу стреляться.
>сайт на джанго с БД (для опыта с nosql и тп)
Думаю, из каробки не заработает.
В любом случае, вероятно, для опыта в nosql джанго не лучший выбор
>Более чем. Я могу такое сделать где то за 10к рублей.
че так дорого блять?!
В нубокнижке видел в качестве примера. Правда не сервер, а со своего компьютера.
Дорого, потому что качественный код + документация + техническая поддержка сроком на год.
Я не разрабатываю программы сам, я организовываю процесс разработки ПО. Под этот проект я могу выделить 2-3 Senior-разработчиков, опытного ПМ с PMP сертификацией и несколько Quality Assurance специалистов.
Halp
>>754876
В instance_of_AClass.class_method(), если что, тоже будет первым аргументом передан класс.
>>754901
А зачем тебе класс вообще, если всё в статике будет? Для неймспейса можно просто модуль отдельный сделать.
>то есть, class функции будут кошерны только тогда, когда есть объекты класса и к ним всем нужно что-то применить?
класс-функции нужны тогда, когда тебе нужно производить какие-то манипуляции с классом. https://ideone.com/3vSieQ
был опыт создал пару простых шопов на рельсах, но не вкатился, ибо ленив.
сейчас уже бесит работать админом и получать жалкие 50к
что посоветуешь тогда для изучения python?
в перспективе смотрю на девопс направления из-за опыта в админстве
>что посоветуешь тогда для изучения python?
я вообще нуб-мимо-качусь.
Просто всегда было представление что джанго это хардкорный сикель
Я вот залупу всякую учу, но большую часть времени воюю с документацией и модулями. Мудрые парни говорили что просто стоит взять дело и дрочить его, параллельно набираясь опыта.
Я решил делать все что в голову взбредет, бота, к примеру для чятиков и все такое. Потом свой почтовый сервер, файловый менеджер. Per aspera ad astra.
Прямо сейчас захотел нотификации о сообщениях из кудахтни, sperma10 style.
Можешь хоть двощ парсеть, лишь бы делать.
В чем проблема?
> Model.objects.filter(value__contains=('value1', 'value2'))
?
Оно? http://stackoverflow.com/questions/4824759/django-query-using-contains-each-value-in-a-list
Действительно, хуево гуглил, извиняюсь.
Да я мудак на некрокомп установил х64 версию
Снёс, поставил х32 и всё работает
Но всё равно спасибо:3
pip install xxxxx
Или скачать в папку внутри проекта, проверить что бы внутри папки был файл __init__.py можно пустой создать и импортировать как обычно через from xxxxx import yyyyyyy
Чтобы родительский класс корректно работал?
На счет детализации помощи мне пока сложно представить, но буду благодарен за любые советы по теме
И так, есть презентация. Есть видесъемка как презентацию ведет мой шеф.
Мне ее нужно заучить.
План такой:
три поля
1 - картинка слайда
2 - видео где шеф рассказывает о слайде, сам нарежу без проблем
3 - стенография его речи в маркдаун поле
----
Всего две URL - slides list и slide view
И так, с чего начать?
python manage.py startapp seminar
Что дальше делать?
Что-то твой замысел не слишком подходит для изучения django, как мне кажется. Тут и статического html достаточно.
Ну начни с модели, например, определись что и как будешь хранить в базе данных и опиши это в файле model.py.
Ну беда в том что я после ~5 туториалов и книженций ровным счётом нихуя не понимаю в джанго. Меня это даже бесит. А сервис просто нужный вот прямо сейчас, разумеется мне и vlc + pdf reader + notepad могли бы заменить, или например встроенные в паверпоинт аннотации к слайдам.
Ну это всё лирика, окей.
И так, models.py:
----
class Slides:
....slide_n = models.IntegerField()
....pic = models.ImageFiled(upload_to='images/')
....video = models.CharField()
....speech = models.TextField(blank=True)
....def __str__(self):
........return self.slide_n
python manage.py makemigrations
python manage.py migrate
Нигде не ошибаюсь? Что теперь делать?
>А зачем тебе класс вообще, если всё в статике будет? Для неймспейса можно просто модуль отдельный сделать.
а не много ли это ебатьни? этож нужно отдельную директорию заводить и __init__.py файл, или я путаю?
Я честно тебе скажу - всё что я пишу - я пишу глядя в те туториалы и примеры из книжек, что делал. Можно ли обойтись без модели? Хуй его знает. Не встречал такого.
>pic = models.ImageFiled(upload_to='images/')
А как ты будешь изображения в базу добавлять?
>video = models.CharField()
Как ты в этом поле будешь видео хранить?
Всё через формочку загрузки, конечно
Видео думал загружать и в чарфилде хранить урл
А ты бы как порекомендовал?
Есть, например, класс FileField, вроде как, родительский класс ImageField. Его можно использовать.
Как сделать сквозную нумерацию для 2-х моделей? Чтобы для постов и тредов был счетчик по времени создания, но не отдельный для каждой таблицы, а общий. Как это сделать?
Сейчас сделал посты и треды от абстрактного класса. посты один к одному с тредами через тред_id.
Потому что если из многих байтов взять один, будет один байт, представленный int в диапазоне от 0 до 255 включительно. Хочешь bytes или bytearray - делай слайс из одного элемента: [N:N+1].
Сделай модель поста и от неё наследуй модель треда. Или наоборот. Тогда id у них будут последовательно идти. Ещё можешь сделать одну модель и в ней сделать флаг, что это тред, а не пост.
А вообще про наследование моделей читай доку: https://docs.djangoproject.com/en/1.9/topics/db/models/#model-inheritance
Спасибо. Только теперь секас с первичным ключом при наследовании от того же класса-родителя.
нужно записать в этот файл данные в конкретный лист этого файла
как?
1)Чтобы в текстбоксе вместо пароля отображались звёздочки, но сам пароль нормально там хранился и считывлася. Интерфейс делал с помощью QtDesigner, но тогда это было не нужно, поэтому я не обратил внимания, но вангую, что должна быть подобная настройка там. Можете просто сказать да/нет, я сам найду, если что.
2) Мне нужно, чтобы при сохранении в файл строка с паролем как-то шифровалась, а то палево же. Ну и сответственно, чтобы расшифровывалась при загрузке из файла во время перезапуска программы. Реквестирую название шифра, который лучше подходит для этой цели и библиотеку, которая содержит готовую реализацию этого шифра.
2) AES. И тебе нужно будет запрашивать у пользователя пароль, которым будет шифроваться инфа.
Player1_Choice = raw_input ("Player 1?")
while Player1_Choice != ('paper' or 'rock' or 'scissors'):
print "This is not a valid object selection"
Player1_Choice = raw_input ("Player 1?")
print "Player1 choose", Player1_Choice
Как в условии while правильно проверять переменную Player1_Choice на равенство стрингам rock, paper или scissors? У меня программа срабатывает только на paper, а на остальные две выдает "This is not a valid object selection".
Посоны!
Учу регулярки, и непонимат!
Под-задача - выхватить из начала строки весь текст до первой открывающей или закрывающей скобки (если он там есть, т.е не менее одного символа).
То, что на пикрилейтед - не работает, и не могу понять почему. Точнее работает, если в куске текста перед скобкой строго больше одного символа. Хотя "+" - это же означает "один или больше".
В чем дело?
Выражение в скобках не исключает символ из выборки. Оно капчерит любую не скобку. \w+ выбирает подстроку не n длины, а n - 1, последний символ идет из выражения в скобках. Чтобы оно сработало, n должно быть n > 1.
Лучше сделать обратный захват.
Попробуй ограничить область screen (т.е. monitor.height -= panel.height), в awesome vm, например, похожим образом это делается.
https://developer.gnome.org/gdk3/stable/GdkScreen.html#gdk-screen-set-resolution
Ставь Community едишон.
если студент - получить образовательную лицуху
> for i in l.items(): print(type(i))
l это словарь.
Он выводит много раз <class 'tuple'>
Как сделать чтобы он не для всех элементов тип выводил, а только для одного?
У тебя переменная итерации одна, а итерируешь словарные пары (items), они всегда будут tuple.
Что хотел-то?
Хотел узнать какого типа элементы пара ключ значение в словаре хранятся. Словарь или tuple. Нашёл только такой способ. items возвращает все элементы словаря. А как взять только 1 и посмотреть его тип не знаю.
В словаре куча элементов. Это пары ключ-значение. items возвращает набор список может, но питон говорит что это какой-то особый тип всех элементов словаря, а for по одному их берёт и тип каждого выводит. А мне нужно только 1 взять и только 1 раз этот тип вывести.
или
t = set()
for i in l.values():t|=type(i)
print(t)
В первом случае получишь тип первого значения в словаре, во втором - всех.
Сам нашёл.
>>> type(list(l.items())[0])
<class 'tuple'>
>>756881
>l.keys[0]
>TypeError: 'builtin_function_or_method' object is not subscriptable
И он выведет тип не всей пары, а только значения.
> >l.keys[0]
> >TypeError: 'builtin_function_or_method' object is not subscriptable
Мой обосрамс - list(l.keys(0))[0]
>И он выведет тип не всей пары, а только значения.
А пара всегда будет tuple. Смысл ее проверять?
>Смысл ее проверять?
Потому-что пока не проверил не узнал.
>>756887
>list(l.keys(0))[0]
Говорит у keys нет аргументов. Но всё равно спасибо.
Что-то я не понял. Этот код захватывает скобку вместе с фрагментом. А можно, чтоб без скобки, или проще самому отсекать через span?
А как в этом 'Gdk.Screen.set_resolution()' прописывать значения? int он не принимает, а в доках хуй пойм что.
Забей, это не то, gdk_screen_set_resolution только dpi для шрефтов устанавливает, вот это по делу - http://stackoverflow.com/questions/11806203/how-to-make-a-toplevel-perform-like-a-panel , и пример - https://gist.github.com/johnlane/351adff97df196add08a .
Например:
s = '' #вот эта хуйня напрягает
for i in range(10): s+=str(i)
Компрохеншены с ''.join не хочу по простой причине - там получится не читаемое говно с горизонтальным скроллом. Еще как можно?
Раз уж пишем читаемый говнокод, а не человеческий, то можно и так.
>s = '0'
>for i in range(9): s+=str(i+1)
Джойнить можно через перенос строки - получишь вертикальный скролл.
А добавлять без предварительного объявления нельзя. Питону же не понять к чему ты добавлять будешь, а в кишках для каждого типа += обрабатывается по-своему. Можно определить для своего типа += как угодно, даже так, что оно тебе вместо реального добавления будет письма на почту кидать.
>>756937
Python-way:
s = " ".join(map(str,range(10)))
Целая строка для простого объявления нарушает мое чувство прекрасного и раздувает сорец.
Пиши однострочный генератор. Или прячь все в функцию.
Больше спасибо, анончик.
На питоне тоже можно в одну строку.
5.6 бери конечно. Базарю ещё захочешь.
Собственно я решил запилить в пистоне:
def average(values):
return sum(values) / len(values)
при range(1, 101) это 50.5, list выводит с 1 по 100
Собственно это верно ? Я тупой если что и рукой выписывал на листке (1+99)+(2+98)...+50+100.
пидор харкач убрал знак табуляции.
Просто запомни: у range верхняя граница не берется. Кодеры считают от нуля до N-1, и ты учись так же.
Просто набери help(wnck) там есть список event'ов. Например у screen есть
#| Signals from WnckScreen:
#| window-manager-changed ()
#| active-workspace-changed (WnckWorkspace)
#| window-stacking-changed ()
#| window-closed (WnckWindow)
#| workspace-created (WnckWorkspace)
#| workspace-destroyed (WnckWorkspace)
#| application-opened (WnckApplication)
#| application-closed (WnckApplication)
#| class-group-opened (WnckClassGroup)
#| class-group-closed (WnckClassGroup)
#| background-changed ()
#| showing-desktop-changed ()
#| viewports-changed ()
#| Signals from WnckWindow:
#| name-changed ()
#| workspace-changed ()
#| icon-changed ()
Сегодня появилось время снова поиграться, но хуй там плавал - выдает вот такую вот ошибку, блять.
# scrapy
Traceback (most recent call last):
File "/usr/local/bin/scrapy", line 7, in <module>
from scrapy.cmdline import execute
File "/usr/local/lib/python2.7/dist-packages/scrapy/__init__.py", line 34, in <module>
from scrapy.spiders import Spider
File "/usr/local/lib/python2.7/dist-packages/scrapy/spiders/__init__.py", line 10, in <module>
from scrapy.http import Request
File "/usr/local/lib/python2.7/dist-packages/scrapy/http/__init__.py", line 11, in <module>
from scrapy.http.request.form import FormRequest
File "/usr/local/lib/python2.7/dist-packages/scrapy/http/request/form.py", line 14, in <module>
from scrapy.utils.response import get_base_url
File "/usr/local/lib/python2.7/dist-packages/scrapy/utils/response.py", line 10, in <module>
from twisted.web import http
File "/usr/local/lib/python2.7/dist-packages/twisted/web/http.py", line 98, in <module>
from twisted.internet import interfaces, protocol, address
EOFError: EOF read where object expected
Гугл насиловал, пробовал разные варианты(удалять, переустанавливать, ставить через easy install, собирать с исходников) - результат нулевой. Еще пробовал поставить скрапи в virtualenv, но у меня то ли не получилось правильно это сделать, то ли просто никакого толку от этого нет.
Как решить эту проблему? Подскажите хоть, куда копать.
Ось - Linux Mint 17.3 Rosa
http://doc.scrapy.org/en/latest/faq.html
> Scrapy is supported under Python 2.7 and Python 3.3+. Python 2.6 support was dropped starting at Scrapy 0.20. Python 3 support was added in Scrapy 1.1.
Что там у тебя с версиями?
Я бы попробовал отладку через какой-нибудь PyCharm запустить, посмотреть, во что конкретно оно упирается, по трейслогу сам с ходу не соображу, что конкретно ему в twisted не нравится.
http://pastebin.com/rxB8YUhZ
Принтую context - там все норм, список со вложенными словарями. А в шаблон ничего не выводит. Выходит, как-то не так переменную указываю?
Насколько Jython сильно отличается от Python?
Библиотеки и экосистема насколько другие?
Добра тебе, бро
Насколько мертвый? Что-то на нем написать можно если надо JVM, или он совсем-совсем заброшен?
http://pastebin.com/WXm2prk7
https://ideone.com/gaXYlP
Лютейший кал.
3.0 вышла в 2008 году, сейчас в бете 3.6. Через 3-4-5 лет есть шанс увидеть бету 4.0. Ренпидоры сидят на второй. Найс.
За редкими исключениями код третьей ветки исполняется на второй. Кури http://python-future.org/compatible_idioms.html
Никакой принципиальной разницы между 2 и 3 нет. Никакой. Нет. Чуть сломали синтаксис, оторвали какие-то маргинальные фичи, вот тебе и вся революция. Просто эти изменения внесли очень неудачно, собрали все грабли, какие можно было, поэтому столько шума и боли. Но никакой "ветки 2x" не существует, это просто устаревшая на шесть лет версия питона, в которой нет asyncio, function annotations, кучи библиотечных плюшек и других вещей, присущих развивающемуся языку.
Иногда в силу внешних обстоятельств необходимо работать с устаревшей версией языка, но прицельно её учить - это какая-то хуйня.
Не помогло((
Не знаю почему и какого хуя, но я удалил в с помощью pip`ки twisted и все заработало)) Теперь боюсь что-либо сломать
Спасибо за ответы.
I know that feel.
помогите плиз
есть страница сайта, с которой я достал все ссылки, они там и относительные и глобальные
как мне относительные (т.е. которые с точками, двоеточиями) переделать в глобальные без боли?
хардвей говно распиаренное потому что бесплатное, но дико бестолковое с претензией на мотивационное говнище. лучше automate the boring staff или хуй знает, think python, или тупо переписывай баш-скрипты на питон, ну или http://blog.programmersmotivation.com/2014/07/09/list-projects/
спс, насчет баша, я его хуже питона знаю, решил просто начать с питона осваивать программирование
> задачки для питона 3.Х(желательно похожие на то с чем приходиться работать программистам а не олимпиадные)
Рецепт очень прост и универсален. Берёшь какую-нибудь существующую программу и переписываешь её с нуля. Не обязательно всю, конечно, - столько, сколько сочтёшь нужным.
К примеру, начни с Unix-команд cal(1) и tar(1), wget. Дальше, если хочешь в веб - напиши свою имиджборду, целишь в десктоп - напиши свой пейнт, неровно дышишь к байтам - напиши свой FTP-демон. Ну и так далее. Подключи фантазию.
вбиваешь в гугл BEST SYSADMINS BASH SCRIPTS
охуеваешь от колличества ебанутого говна, нужного сисадмину
примерно понимаешь что оно делать должно
пишешь это на питоне
Ты и жаву, и какой-нибудь хаскель, и лисп так сможешь портировать (хотя наверное лисп пока нет, без лямбда-выражений во всяком случае)
Тогда чего голову морочишь?
codecademy - byte ... - dive ... - (доусон или лутц программируем) + лутц изучаем - think python
вот программа новичка проверенная каждым наверное вторым итт
спс, засейвил завтра начну с академии, кстати вижу ты анон добрый, может скажешь чем в основном занимаются питонисты, в отличии от прогеров на других языках?(кроме сис.администрирования) о использовании питона в разных штуках(типа ютуба) слышал, но картины работы с питоном в голове все равно не нарисовал
Ну, скажем, минимальная версия cal(1) - это как раз где-то на уровне задачки из учебника будет (разумеется, модуль calendar использовать нельзя). Простейшие аналоги tar и wget - тоже совсем не сложно.
1. Веб-дев
Наверное больше всего кодеров на планете сейчас занимаются этим. В том числе и на питоне
2. Гуй-приложения на скорую руку
Есть уже какая-то бд, которую сделали непойми чем и использовали непойми как, но старый java-клиент чего-то перестал подргружать нужные модули из инета и запускаться? нехуй делать, слеплю Гале Петровне из бухгалтерии говно с десятью полями и двумя кнопками
3. Прототипирование - питон исписан энтузиастами вдоль и поперёк, поделки существенно разнятся как по качеству, так и по скорости - но другого такого языка, на котором бы ты за вечер мог слепить полноценное приложение из 10 левых библиотек пока нету
4. Сисадмининское говно
Всюду где для баша нехватило готового велосипеда - этот велик есть уже созданный на питоне, осталось только прикрутить
5. а) Биг дата и прочие машин лёрнинг
Стильно, модно, молодёжно
5. б) научные штучки и вычисления
Опять таки валом всяких интересных библиотек и большая часть из них - уже в обёрточке и для питона есть. Ну и народу нравится потому что просто
Вот как-то так я вижу
Держи заодно cal
Если с параметрами запуска аналогичными лепить то очень даже есть где разгуляться и в cal'е
И хули тебе что сказали минимальная? Слишком просто? - Так усложни себе задание
cпс, а насчет кол, он должен типа точно как и в баше работать? я имею ввиду после запуска ./cal.py выводить реальную дату в таком же виде?
Анон, вот, я мимокрокодил, вообще умею в пхп (так себе умею, просто сайтики пишу и задачи иногда решаю разные). Но у меня есть баранья упертость. Стоит ли читать "Изучаем питон" Лутца? Я не люблю книги, где отсутствует интерактив, то есть отсутствуют примеры, задачи, реальный код. "Изучаем" - простой справочник, но подробный, а я справочники не люблю. Если научну с Доусона, не прогадаю? Я ищу книгу, где будет объясняться синтаксис, какие-то примеры и создание приложений. Ну, "с нуля до норм парня". У Доусона вроде с нуля объясняется, на примерах. Из аналогов Доусону так понял только Лутц "Изучаем"+"Программируем". Но Доусон 400 страниц и есть ИНТЕРАКТИВНОСТЬ, а у Лутца ебать талмуды по 1к страниц каждый, еще и только в одной книге есть нормальный интерактив. В общем, дай совет, анон.
Всё смешалось в доме облонских. Это я предложил cal и я говорю, что его можно сделать настолько маленьким, насколько хочется. В простейшем случае он может никаких аргументов на командной строке не принимать, выводить текущий месяц в фиксированном формате и всё. А уже потом, если хочется разгуляться (>>758991), можно заняться впиливанием разных опций.
> умею в пхп
> есть баранья упертость
Абсолютно похуй, что и в каком порядке читать. Начни с официального туториала, дальше гугли, бейся об стенку и т. д.
Это вообще какой-то удивительный миф, что для освоения языка надо выбрать "правильную" книгу. А то у нас мозги такие нежные, ох, что от одного неуместного слова сразу скисают.
Я все языки и технологии в сознательном возрасте начинал учить с официальных доков.
Лутц есть справочник и "программируем"
Справочником надо пользоваться как справочником - полистать для общего ознакомления, что непонятно прочитать, если чего потом непонятного найдешь - тоже можешь глянуть.
Программируем Лутца - чуть для дебилов
Доусон тоже чуть для дебилов, только более игривых. Может кому и нравится писать текстовые квесты, я хз, но по мне так это скучно.
С другой стороны со своей задачей все по полочкам разложить Доусон лучше справляется.
Think Python - крутяк невероятный, он уже способен научить тебя писать реальные вещи, но врубиться сходу в него не получится скорее всего - я сам ещё штук 10 задний из него не понял как делать, а читал я его пол года назад.
В любом случае это не значит что ты не сможешь писать что-то и до Синка, но после него - почти наверняка.
А доусона/программируем Лутца нужно просто пережить
Официальные доки - по стандартной библиотеке. Она великолепна, как и доки, но проебать за ее чтением что-нибудь из того что на первых порах было бы нужнее - проще простого. Взять хотя бы итертулз те же.
По стандартной библиотеке тоже классная книга есть - python standard library by example, но имхо всем этим надо заняться уже после набитых шишек и даже Синк Пайтона
>>> from urlparse import urljoin
>>> urljoin('http://www.cwi.nl/~guido/Python.html', 'FAQ.html')
'http://www.cwi.nl/~guido/FAQ.html'
codingame.com - типа-ололо-геймдев с блекджеком и шлюхами, примерно сотня основных задач, 26 языков (второй и третий питоны считаются за разные), десматчи с другими кодерами, ачивки, в том числе за количество решений на разных языках.
Гольфить там весело: сишники и джаверы пишут за три минуты решение на 200-300 знаков, ты выжимаешь из себя все что знаешь на питоне и за пять-семь минут делаешь 40-50 знаков, приходит рубипидор и кидает 30 знаков - хуй тебе, а не первое место. Или например пока ты вникаешь в условие задачи, местный папка сабмитит решение за 20-30 секунд.
>Всем чаю, посоны! Есть два объекта на сикуэль алхимии, связь один-к-одному, как кошерно удлаить связанный объект?
загугли cascade delete-orphan
Тебе веб-сервер так или иначе все что угодно отдает каким-то потоком байт, просто браузер по mime определяет, что с этим делать. Как поймал заголовок с HTTP 200 - смотри в нем ключ Content-type.
spasiba
Высоконагруженный проект, коллектив без мудаков, не стартап. Я сам фронт, лол, ищу ещё одного фронта, но если кто работу ищет - перенаправлю к тимлиду по бэку.
james.variouD9xsANUSy>K]andexPUNCTUMrLJ1u
Вопрос уровня наивного дебила: а доучите? То я чутка по джанге знаю, но там не то что до нагруженного проекта, а вообще до пректа ещё месяц-два практики
Зато готов пахать в половину дешевле и подписаться к вам минимум на год-полтора.
Фронт на чём?
Чем ты пользуешься анон?
Ничего.
Может snippet'ы какие где есть, может на гитхабе валяются всякие джангоподелки годные не слишком невероятно сложного уровня для меня-только вкатившегося?
Но с джангой и пайтоном работал, если что.
Мой уровень: понимаю доки через слово, на пару с гуглотранслейтом с горем пополам справляемся.
Да, я знаю, что не для этого, но я, как и ты, учу питон, так что мы с тобой почти братья, не ругайся, прошу.
>>> L = [1, 2, 3, 4]
>>> result = L[0]
>>> for x in L[1:]:
result = result * x
что значит L[1:]? С доков на офф сайте питона понял что L[:] проводит операции в копии списка, но для чего здесь единица?
В общем, есть строка "Привет, что делаешь?"
Переводим в нижний регистр и убираем спец. символы.
"привет что делаешь"
Далее, разбиваем на маски.
"привет что делаешь"
Вот такая регулярка работает, но при другом порядке слов в строке или отсутствие, например 1 слова - не работает.
Можно как-то сделать, чтобы работало при любом порядке слов?
>Можно как-то сделать, чтобы работало при любом порядке слов?
Чтобы что работало? Какой результат от регулярки ты ждёшь?
Чтобы строку "привет что делаешь", находило даже если слова не по порядку.
Например, чтобы "что делаешь привет" была для регулярки равна "привет что делаешь".
Это вообще возможно?
http://stackoverflow.com/questions/7719559/regular-expression-with-multiple-words-in-any-order-without-repeat
В двух словах: на одних регулярках это боль. Делай иначе.
Эта книга расскажет вам про то, как:
Создавать грамотный, неглючный, высокопроизводительный код с минимальными усилиями;
Использовать по максимуму доступные возможности Python на сегодняшний день;
Применять декораторы, шаблоны, и различные техники оптимизации для еффективного использования Python.
https://www.packtpub.com/promo/pycon2016/
Спасибо, спёр и себе
Мне кажется главная фобия бухгалтеров САЙТ С ВИРАСАМ становится реальной, вот и вся революция практически
Удваиваю. Фронтэндом можно будет заняться без зашквара об всякие джава/кофе/тайпскрипты.
>>759877
Окей, двач, как мне писать фронтэнд на питоне без лишней ебалы? Туториалы, книги, смешные истории?
Сначала_ты_идешь...txt
спс, анон
Аноны, подскажите, пожалуйста, как можно реализовать получение размера файла в сети без его непосредственной скачки на пеку? Для файлов на ЖД есть os.path.getsize(filename), а вот что делать с Интернет - хз.
Хочу сделать качалку определенных файлов из сети, и чтобы в потоке показывалось сколько процентов скачалось.
Есть код такого вида: https://ideone.com/Ht5s39
Надо, чтобы после выбора пункта в первом вводе, если во втором вводе вводится "0", то программа не прерывалась совсем, а возвращалась обратно на первый ввод.
Не очень понимаю, как правильно сделать. Через if не подходит.
Да, первый izd, второй i
Просто у меня там внутри ещё куча всякого говна будет, и что-то мне кажется, что обернуть ещё в один цикл, это очень уж костыльно, какой-нибудь goto (которого нет) и то выглядит лучше.
Может в питоне есть какие-то якори, к которым можно организовать переход при определённом условии?
Какими другими? Если ты имеешь в виду мутабельные объекты в качестве значений словаря, то они и в срезе списка теми же остаются.
Мои собственные класс, инты, кортежи. Все объекты одним способам копировать.
Чтобы копировать объекты моего класса мне нужно создавать метод копирования для этого класса? Что за бред? Во всех языках просто пишешь равно и он копируется.
>Во всех языках
И тут ты такой с пруфами одинаковой методики копирования для классов и мутабельных объектов.
>Во всех языках просто пишешь равно и он копируется.
Это в каких-таких языках сложные объекты сами по себе копируются одним только равно?
В питоне только указатели.
Лал. Это как раз таки если равно определено как assign, а если нет?
http://pastebin.com/L1xFEi6b
Не, но с торгами связано
Если я правильно понял твой вопрос то к странице где список торгов обращаюсь по урл
url(r"^biddings/$", views.biddings_list, name="biddings_list"),
Там есть кнопка для сабмита нового объекта, и вот она упорно ругается на то что прикрученный к ней урл не получает аргумент
Есть подозрение, что последний слеш в url не нужен.
Нет, дай адрес страницы, как ты к ней обращаешься. Например, там https://2ch.hk/pr/add_bid/lolka/ (М)
Если формируешь скриптами, то как формируешь.
Просто ошибка говорит о том, что ты не указал id, типа
https://2ch.hk/pr/add_bid/ (М)
Спасибо
Хотят выглядеть умными.
Потому что обычно обучаются на английских источниках, поэтому и слова получаются такими.
1. Потому что мы подлизываемся под америку
2. Чтобы не наводнять язык ненужными терминами и не держать в голове десять копий на каждом из языков. Всё равно тебе русские термины нахрен не сдались. Если тебе какую-то проблему решить — всё равно на английском же. А про себя как хочешь их называй, всем, опять же, плевать.
Анон. В каждой предметной области есть своя терминология. И нередко она основана на языке той страны, где эта предметная область развилась раньше и сильнее. Например в юриспруденции и медицине имеет значение латынь, в кулинарии французский, в музыке итальянский. В программировании это английский.
В идеале разговор по предметной области вообще должен быть на её языке исключительно.
А теперь возвращайся в /б/
>>760029
http://127.0.0.1:8000/butik/biddings/ вот урла для шаблона, в который рендерится аукцион
http://127.0.0.1:8000/butik/add_bid/1/ вот урл, по которому какбэ должен создаваться новый объект ставки, но нихуя, ибо проблема выше.
Потому что если для инкапсуляции ещё можно русский аналог найти, то для целой тучи англицизмов - уже нет, тот же коммит как ты переведёшь?
Вот что бы не плодить сущности
Проблемы на твоей стороне, либо ты чего-то не договариваешь.
Изменил код, но это не должно влиять на ошибку:
http://pastebin.com/uMPrptPc
Так я же привел пример с итерацией. Понятие, которое не имеет своего аналога в языке и описывается несколькими словами, заменить одним иностранным - это нормально, тем более если тебе приходится часто его использовать. Но когда вместо "изменяемый" пишут "мутабельный", то в голове невольно возникает вопрос "а смысл?"
И на упреждение данного нервного персонажа и ему подобных
>>760038
Я понимаю и принимаю эту позицию. Возможно в дальнейшем сам буду активно использовать англицизмы. Но сейчас мне подобное кажется велосипедом, собственно почему и спросил.
Может кто-нибудь помочь распарсить XML вывод nmap c помощью python 3 и xml.etree.ElementTree? Пример вывода тут - https://ideone.com/U0c7aM, хочу понять, как вычленить из xml адрес, порт, если этот самый порт открыт. От себя могу предложить искреннюю благодарность и немного поболтать на технические темы в области ИБ.
Лишь бы тебя понять можно было. У меня препод был в универе который ещё энигму разбирал что бы спиздить алготримы, так вот его терминологии состоящей сплошь из подобранных им же русских аналогов западных терминов я по сей день понять не могу.
В любом случае это не тот вопрос, на котором следует акцентировать внимание.
"Изменяемый" - непонятно, от какого глагола - совершенного вида или несовершенного. "Изменяемый в данный момент времени" - changing/mutating. "Изменяемый вообще, подлежащий/подверженный изменениям" - changeable/mutable.
Да ты переводи, не стесняйся, и придумывай новые слова.
Это основа познания на основе долговременной памяти. Суть: чтобы что-то запонить или понять нужно назвать это своим именем - это даст иллюзию понимания и позволит расужндать о предмете как о чем-то знаком. Далее, при контаксте с "нормальными" людьми тебе придется перводить свою терминологию на общепринятый язык - это считай повторение(тренировка памяти) и объяснение(проверка как твои понятия соотносятся с реальностью).
Оче выгодная стратегия обучения.
https://ideone.com/JPrWyw
Питон 2.7
Результат - список node_nmap из объектов node, потом функция node.values() выдает из них по списку из, в данном случает, типа порта и номера:
['tcp', '80']
['tcp', '81']
['tcp', '1080']
['tcp', '1081']
['tcp', '3128']
['tcp', '8080']
['tcp', '8081']
print "len=", len(nodes_nmap), print nodes_nmap - отладочные строки, тк взял из своего старого пробного примера, забыл стереть, когда постил.
Надо также поправить XML, у него незакрыт <nmaprun>, и я также удалил строки со ссылками на схему, т.к. она ведет на локальный файл, но, возможно, будет работать и с такой ссылкой на схему.
Вообще, для составления XPath и наглядного просмотра XML есть удобные программы вроде XMLExplorer
PPS факт, наоборот, все порты filtered.
>разве там не только те порты, что открыты, указываются ?
Без ключа --open нет.
Спасибо, попробую допилить по твоему решению.
https://ideone.com/lgM32G
Вот Python 3, но нужно вручную ставить lxml, скачать и через
>pip3.5.exe install c:\....\lxml-3.6.0-cp35-cp35m-win32.whl
Может где в алгоритмах, хз, тут тред есть хороший рядом по CS там спроси.
В питоне тебе пригодится:
Знать досконально сам питон всю эту хуйню про классы, различия между списком и кортежем
И если хорошо все понял - сильно поможет знание стандартной библиотеки потому что она сама по себе содержит дофига вещей, которые заменяют очевидные и не самые очевидные велосипеды, которые тебе пришлось бы городить - ну типа defaultdict того же
Остальное это все примерно
> фром нужная библиотека импорт фича
> фор и ин список
> ....Фича делай и
Ну это я утрирую конечно.
спс, кстати что думаешь насчет задачи, с каждым часом её решения моя самооценка падает всениже и ниже
Я дропнул не-прикладные задачи еще на уровне не то что проекта Эйлера, а питонтутора просто. Мне такое не интересно, теоретической базы кроме sicp я толком не имею а наверстать ее пока не могу/не хочу.
REG_EX = '\s(?P<f>[а-яА-Я])\s(?P<i>[а-яА-Я])\s(?P<o>[а-яА-Я])\s(?P<d>\d)[./-](?P<m>\d)[./-](?P<y>\d)\s(?P<polis_type>[а-яА-Я])\s*
регулярное выражение
потыкай тут в regex library https://regex101.com/ сам поймёшь что оно делает
Спасибки
О, благодарю. Тут у меня нет никаких контраргументов.
>>760077
Я согласен, что сильно не стоит акцентироваться на этом, но где лучше задать такой вопрос как не здесь?
>>760152
Да я и не стесняюсь. мне было важно понимание, что эта терминология используется не просто так.
Всем спасибо большое за ответы.
>почему в цикле for при объявление любого n из типа dict, он вызывает ключ, а не его значение ?
Возможно, потому что ключи уникальные, и по ключам можно узнать значение, а вот наоборот - затруднительно.
Ага. Значения не уникальные, а по кортежам ходить не так удобно.
Сравни for i in d: print(i,d) и for i in d: print(i[0],i[1])
встроенного socket в принципе достаточно
ТОЛЬКО ТОРНАДО ТОЛЬКО АСИНКИО ФРОНТ НА АНГУЛЯР БЕК НА ДЖАНГО ПРОСТЕНЬКИЙ ЧАТ ЖЕ
Чё бля?!
Хотел кстати сделать чатик на основе вебсокетов. Так вот глянул на всякие вебсокет библиоткеи под asyncio - всё таки tornado намного взрослей выглядит.
from matplotlib import pylab
ImportError: No module named 'matplotlib
Все, разобрался.
типа того, чтоб антоха и петян не охуевали сильно, и доёбывались по существу тут.
Вот тебе дистилят из PEP8: rukeba.com/by-the-way/pep8-korotko-i-po-russki/
Эх.
Аноны кодят на питоне...
>>75362
Привет питончики.
Прошу помощи в нахождении обучающих материалов по python, которые не устарели
Марк Лутц все еще в 4 издании на русском - в программаче сказали что это старье.
На ютабе уроков под версию 3.5 нету, зато какой-то мужик рассказывает про 3.4 вот ссылка
https://www.youtube.com/channel/UC9rWgAzfjfK-iq-cOp4ZGGw подойдет ли он ?
В общем, я новичек и нихуя не знаю, поэтому вопрос что читать/смотреть чтобы было не устаревшее и чтобы не пролететь как фанера над Парижем ?
учи-ставь-пиши на 2.7. Очень много всяких модулей совместимы только с 2.7. 3.5 не сильно отличается (там добавлены некторе методы-фуекции которые пишутся на 2.7, но в 3.5 идут по дефолту).
Насчет книг, недавно попалась: ThinkPython_v.1.1.24+Kart[Python_3.2]_RU_v.1.06.pdf
По идеи, она для тех, кто только начинает (там много воды про структуру данных, что такое массивы-словари и вот это фигня), но она не такая академичная как у Лутца.
Если это твой не первй язык, то подойдет Укус питона(тоже есть на русском).
>>761184
И сосни хуйцов на продакшене, когда время-деньги. А ты выбрал 3.5, а библиотека которая тебе нужна поддерживает только 2.7
Постарайся найти книгу с 3.3+ хотя бы. Там появилась yield from. В остальном не сильно.
мне банально хотелось получать сколько у меня на счету лежит провайдера :с
Хотел реквесты выучить, а по итогу я в говне
Не помню уже, но столкнулся с этой проблемой толи с хайстеком, то ли с эластиксёарч.
httplib через SSL умеет
https://pypi.python.org/pypi/elasticsearch/2.3.0
https://pypi.python.org/pypi/haystack
$ 2to3 -wn .../haystack
$ python
Python 3.5.1 (default, May 5 2016, 14:43:33)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import haystack
>>>
Ох уж эти кукаретики.
> 3.5 не сильно отличается (там добавлены некторе методы-фуекции которые пишутся на 2.7, но в 3.5 идут по дефолту).
Что не понравилось? Сильно отличается? В чём? Синтаксисе - нет. Добавили новые плюхи. Поправь.
Так, ок. А как перевести джанго-проект, на 3.4-.5? Нужно удалить 2.7 и поставить 3.5, а потом на него Джангу и все модули?
Не понравилось про "некторе методы-фуекции".
Статическая типизация, asyncio, единообразный уникод, raise ... from, оператор @ в конце концов - это нихуя не методы-фуекции, это существенные изменения в языке и платформе.
Но и методы-фуекции нельзя игнорировать, так как их вагон и маленькая тележка - количество переходит в качество.
Думаю он имел в виду django-haystack. Я кстати тоже страдаю от того что все дрочат на 2йку. Уже третья работа и все под второй бидон. Заебали уже. Их мордой тыкаешь в проблемы с кодировкой, возникающие в самых неожиданных местах,а они сука в глаза ебутся. Им объясняешь что "живые" пакеты могут отказаться от поддержки 2йки раньше, чем она перестанет поддерживаться официально, а они в ответ только кукарекают о том что до этого еще дожить надо.
Сказать-то что хотел, болезный?
Думаю там либо всё и так работает, либо 2to3 справится, либо руками за пару часов можно.
>>761218
Ещё в >=3.2 gil существенно подлатали, теперь переключение контекста происходит не по количеству выполненых инструкций а по запросу от другого потока, следственно никаких блокировок на ровном месте в однопоточном коде и не только.
Пердуны со своей 2.7 весело похрюкивая продакшеном катятся в депрекейтед и просят ещё.
Ты щас аутируешь про то, что я сказал "статическая" вместо "gradual", или что надо отдельно ставить MyPy, или что?
Да кстати, там много разных оптимизаций, на моих проектах ускорение заметно невооружённым глазом, хотя в целом погоды оно конечно не делает.
if 5 in [[5]]
выдавало true
p.s в одном из списков внутри списка
def func():
pass
func.a = 5
Но я так и не понял нахуя это надо?
Рекурсивно делай yield элементов и сравнивай.
Ну во-первых это красиво.
>>761270
Олсо, functools.wraps тоже работает с полями функции - копирует поля __doc__ и __name__.
> Всё является объектом
Но не всем объектам можно присваивать атрибуты, тем более произвольные.
> Ты о __slots__ или чем-то чего я не знаю?
Ну есть тупо иммутабельные объекты вроде интов. Но да, больше всего это заметно со __slots__.
Двойка депрекейтед только во влажных фантазиях Гвидо. По факту 2.7 - это стандарт, а тройка - это игрушка для хипстеров с кучей ненужных перделок, которую в реальных проектах используют 1.5 стартапщика.
Что еще расскажешь
> версия языка почти 10ти летней давности
> не депрекейтед
> актуальная версия языка
> игрушка для хипстеров
>>761642
>>761644
Потому что command=rand_statya() вызывается только один раз. Предполагаю, тебе нужно заменить его на command=rand_statya, по крайней мере такой выход использует джанга (если видит, что параметр callable, то вместо постоянного результата вызывает функцию).
после 4х лет изучения и работы на c-like языках мне это кажется абсолютно непостижимым. Просто убрал скобки и всё заработало. Можешь поподобнее объяснить, в чём разница между двумя этими записями?
Странно. Разве он не должен делать его автоматически? И те 3 точки это разве не отступ? Нажимаю таб и он не реагирует. А в одну строку программа работает.
При записи:
> command=rand_statya()
в command передается результат выполнения фунции, поскольку она ничего не возвращает передается None, т.е. запись эквивалентна
> rand_statya()
> tkinter.Button(mainFrame, text='Сгенерировать', width=24, command=None)
а когда передаешь в command функцию, как предложил анон выше, она будет вызываться каждый раз при клике на Button, в обработчике происходит что-то типа:
> def onclick(command=func):
> __if callable(func):
> ____func()
спасибо
бамп
dict0 = {положим что ключи одинаковы c dict1}
dict1 = {положим что ключи одинаковы с dict0}
total = 0
for n in dict0:
total += dict0[n]*dict1[n]
print(total)Дает некое max значение одной строчкой.
print(total) выдает для каждого ключа из цикла
что происходит в цикле ?
второе принт с табуляцией.
он создает последовательно с N0 в 0, N1 = первому циклу, N2 = N1+0, N3 = N2+0, N4 = 0 ?
> Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_user/pandas/setup.py';exec(compile(getattr(tokenize, 'open', open) __file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-fdYvWU-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_user/pandas
Что ему не нравится? 5 минут варнингами в консоль срал и вдруг ошибка.
>после 4х лет изучения и работы на c-like языках мне это кажется абсолютно непостижимым
Ну, тогда ты чмо галимое. Указатели на функции есть даже в си.
>sys.path.append(os.path.dirname(__file__))
и потом
>from namespaces import *
В общем, в собранном пакете ошибка
>ImportError: No module named 'namespaces'
Как-то надо указать пайинсталлеру что эту папку надо добавить в импорты. Что-то не получается, может кто-то уже парился с этим?
∑ m(k) при 1 =< k =<5 это типа как m(1)+m(2)+...+m(5)?
заранье спс
спс
Решение не очень, сам понимаешь.
Но я нашел другое, чуть получше, но не сильно. Подправил имопрты в этой библиотеке. Файлов оказалось мало и я это сделал быстро.
Но! Теперь другая проблема.
Все кириллические символы (а питон третий) просто пропали!
Если раньше была строка: "name": "_Клиент", то теперь "name": "_". Кабзсдос
Собирал много бинарников pyinstaller-ом, никаких проблем такого плана не было.
Жаль. Рад за тебя.
Наверно это проблема в том что pyinstaller как-то неправильно собирает модуль unidecode. Пойду разбираться дальше.
Да установлена же она.
libwww-perl: /usr/share/doc/libwww-perl/copyright
libwww-perl: /usr/share/doc/libwww-perl/changelog.Debian.gz
libwww-perl: /usr/share/doc/libwww-perl
запускаю из консоли:
use LWP::UserAgent;
^
IndentationError: unexpected indent
Как ваши файлы запускать? пускаю через терминал python index.py
в самом файле просто код
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
my $login = 'LOGIN';
my $password = 'PASSWORD';
my $cookie_jar = HTTP::Cookies->new();
my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 } );
$ua->timeout(10);
$ua->agent( $userAgent );
$ua->cookie_jar( $cookie_jar );
my $res = $ua->get( 'https://i...content-available-to-author-only...m.com/accounts/login/' );
my $result = $res->content;
if( $result =~ /<input type="hidden" name="csrfmiddlewaretoken" value="(.+?)"/ ) {
my $token = $1;
my $postString = 'csrfmiddlewaretoken='.$token.'&username='.$login.'&password='.$password;
my $req = HTTP::Request->new( POST => 'https://i...content-available-to-author-only...m.com/accounts/login/' );
$req->content_type( 'application/x-www-form-urlencoded' );
$req->content( $postString );
$req->header( 'Accept-Language' => 'en-US,en;q=0.5' );
$req->header( 'Referer' => 'https://i...content-available-to-author-only...m.com/accounts/login/' );
my $res = $ua->request( $req );
my $result = $res->content;
if( $res->code == '302' ) {
print 'Login success';
}else {
print 'Login failed';
}
}
Как ваши файлы запускать? пускаю через терминал python index.py
в самом файле просто код
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
my $login = 'LOGIN';
my $password = 'PASSWORD';
my $cookie_jar = HTTP::Cookies->new();
my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 } );
$ua->timeout(10);
$ua->agent( $userAgent );
$ua->cookie_jar( $cookie_jar );
my $res = $ua->get( 'https://i...content-available-to-author-only...m.com/accounts/login/' );
my $result = $res->content;
if( $result =~ /<input type="hidden" name="csrfmiddlewaretoken" value="(.+?)"/ ) {
my $token = $1;
my $postString = 'csrfmiddlewaretoken='.$token.'&username='.$login.'&password='.$password;
my $req = HTTP::Request->new( POST => 'https://i...content-available-to-author-only...m.com/accounts/login/' );
$req->content_type( 'application/x-www-form-urlencoded' );
$req->content( $postString );
$req->header( 'Accept-Language' => 'en-US,en;q=0.5' );
$req->header( 'Referer' => 'https://i...content-available-to-author-only...m.com/accounts/login/' );
my $res = $ua->request( $req );
my $result = $res->content;
if( $res->code == '302' ) {
print 'Login success';
}else {
print 'Login failed';
}
}
>libwww-perl: /usr/share/doc/libwww-perl/copyright
>libwww-perl: /usr/share/doc/libwww-perl/changelog.Debian.gz
>libwww-perl: /usr/share/doc/libwww-perl
Это только документация, а не сама либа. Должны быть файлы с расширением .pm. Ты где-то накосячил, попробуй переустановить.
>запускаю из консоли:
>use LWP::UserAgent;
>^
>IndentationError: unexpected indent
Попробуй в начало файла строку добавить:
#!/usr/bin/env perl
libwww-perl is already the newest version (6.15-1).
Все у меня установлено. Тьфу на ваш питон.
Вот и правильно. Я тоже перл больше люблю, только зачем ты с ним сюда полез? В прикрепленном бы спросил.
А чё, в жаве нет указателей на функции и их нельзя передать как аргумент, например?
python3 manage.py runserver
Не работает в фоне, плюс celery надо запускать отдельно.
Гугли по запросу deploy
Можно эту хуйню в supervisor забить, но для продакшона тебе понадобиться gunicorn или uwsgi.
Кодить буду сам продукты под себя, уже немного умею в джанго, но не до конца врубаюсь по всяким моментам.
Есть же чятик - https://invite-me-to-2chpr.herokuapp.com/
>>762281
Зачем её вообще отключать, не в прод-режиме?
g: python my - В ответ ничего
g: python my keyword - В ответ ничего
g: python my - В ответ ничего
g: python my documentation - В ответ ничего
g: python my variable - Вторая ссылка ведет на форум.
Никакой документации. Охуеть. Итого 5 минут поиска чепухи.
ПРИШЛО ВРЕМЯ ПОДКЛЮЧАТЬ ЕЩЁ ОДИН СЕРВЕР! СЕРВЕР САМ СЕБЯ НЕ ПОДКЛЮЧИТ! ЗАЧЕМ МНЕ ДЕРЖАТЬ ВСЮ ЛОГИКУ САЙТА НА ОДНОМ СЕРВЕРЕ? КАЖДУЮ ВИЗИТКУ У МЕНЯ ОБСЛУЖИВАЕТ ЧЕТЫРЕ СЕРВЕРА! НА КАЖДОМ СЕРВЕРЕ СТОИТ СВОЙ ФРЕЙМВОРК НА СВОЕМ ЯЗЫКЕ!
Введи в гугле django static.
Загугли что такое nginx, почему его сделали, и почему всегда используют связку nginx+любой сервер приложений. И не позорься тут.
Забей ты на этот пистон. Тебя, видишь, сам боженька отворачивает от этой помойной ямы, в которой ты будешь до конца своих дней писать вебпарашу. Начни задротить перл, сможешь хотя бы легко и просто писать мелкую хуитку для своих нужд.
>вебпарашу
Что плохого в вебе?
>>762350
>сможешь хотя бы легко и просто писать мелкую хуитку для своих нужд
Но у меня нет таких нужд.
>Что плохого в вебе?
В том, что он представляет из себя сейчас -- все.
>Но у меня нет таких нужд.
Хорошо.
10 вакансий на всю россию.
>В том, что он представляет из себя сейчас -- все.
Да что не так то? Ты делаешь меня задуматься. Получается я зря полгода на веб потратил?
Валом:
Programming Collective Intelligence
Problem Solving with Algorithms and Data Structures
SICP на питоне http://www-inst.eecs.berkeley.edu/~cs61a/sp12/book/index.html
The Python Standard Library by Example
Fluent Python
Python Algorithms: Mastering Basic Algorithms in the Python Language
Python Essential Reference
http://pythontips.com/2016/02/27/learning-python-for-data-science/
https://github.com/ujjwalkarn/DataSciencePython
Functional Programming with Python
Python Unlocked
Python for Data Analysis
Ну и никто не запрещает Кормен, Кнут или Стивена Скиена по алгоритмам, Сейджвика и прочие CS читать а потом на питоне реализовывать.
Стандартную библиотеку всю вызубрил? От корки до корки? Можешь поковыряться в ast, посношать парсер/компилятор, попробовать в самомодифицирующийся код/кодогенерацию, собственно, that's all, folks. Ну а хуле ты хотел, это тебе не лишп с хачкелем.
У тебя еще есть шанс!
Вроде как должно брать целое число и печатать сумму цифр.
Но работает не всегда, у меня в ком. строке выводит плавающие иногда.
Нет, не нужно. Если это нужно, то ты гарантированно пишешь несопровождаемый код.
Нет, нужно.
__subclasses__() ?
Что простите?
Какие объекты? Ты уверен, что для этого нету какой-то апишки? Сканить экран - не лучшее решение обычно.
хочу что-то универсальное, чтобы с многими форматами работало.
В данной ситуации это бот для игры и мне нужно распознать npc, чтобы потом на него мышкой клацнуть.
те три точки как бы намекают тебе, что ты внутри цикла и шансов выбраться без отступа в 4 пробела у тебя не так много
Только обёрточка для ffmpeg'а на ум приходит
https://github.com/raymestalez/lumiverse
Вот неплохой код на джанге, на личинку миддла. Правда комментариев нет, но они там и не нужны, итак все ясно. И вьюхи процедурные, а не CBV. Еще стоит почитать сорцы джанговских библиотек. https://www.djangopackages.com/
Имхо зашквары - использование raw sql в случаях когда таки можно сделать на ORM, копипаст вместо использования многочисленных гуд практис (типа банального наследования), наименования полей типа TsenaRubli, годами сидеть на древних версиях вроде 1.4 "оно работает и ладно", велосипедизм в разных проявлениях, монолит из 1-го приложения вместо деления на мелкие части.
На одном гуникорн+джанго с батарейками заточенный, на другом - aiohttp искаропкиасинхронный.
Куда садиться с прицелом в будущее?
> Куда садиться с прицелом в будущее?
В смысле?
Что изучать? Оба, очевидно.
Что выбрать для конкретной задачи? Зависит от задачи, очевидно.
Мне кажется, aiohttp - менее общее решение. Что ты будешь делать, когда у тебя появятся немного ЦПУ-баунд функции? Что ты будешь делать, когда захочешь фич нормальных веб-фреймворков? Но для некоторых задач самое то, просто и со вкусом.
диванный архитектор
Умничка. Продолжай в том же духе. Я горжусь тобой и в тоже время завидую твоему трудолюбию и упорству.
Эти вещи вполне могут жить друг с другом. Джанга как обертка для постоянного хранилища, асинхронные технологии для каких-то частных применений, например держать в памяти огромный dict и с страшной скоростью отдавать из него данные через rest, либо пулять что-то в очередь.
То есть ты можешь её прямо сейчас открыть и посмотреть? Тогда нахуя ты спрашиваешь у нас? Ты поехавший?
эх, посмотреть то я могу. и, к слову, смотрю её
тут страничего мноха
и если б сказали, что она не ок - тогда б не пытался её осилять
ну логично же
пасеба, братодруг
страничек*
ты меня не проведёшь!
https://ideone.com/Q5ENrk
>Что ты будешь делать, когда у тебя появятся немного ЦПУ-баунд функции?
То же, что и сейчас на синхроне. Очереди-воркеры, процесс-пулы? Зато никакой ебли с IO и заранее настрой на async без всяких соблазнов.
А так-то нехватка вычислительных мощностей решается только добавлением вычислительных мощностей.
>Что ты будешь делать, когда захочешь фич нормальных веб-фреймворков?
Например? Из того что я читал, в aiohttp есть роутинг, мидлвары, шаблончики и т.п.
>>762882
Согласен, могут (классическая связка джанго+торнадо). Но хотелось бы уйти от этой повышенной сложности и юзать что-то одно. Потому и вопрос встал.
БАМП!
shutil.copytree
а если по коду, то там, где html в файл пишешь лучше контекстный менеджер использовать.
with open('www/index.html', 'w') as file:
____file.write('...')
и не надо руками закрывать файлы.
Я о том, что можно было бы подготовить папку с файлами и потом её целиком скопировать одной командой.
У меня только один вопрос: ЗАЧЕМ?
Если уж анон хочет тренироваться, то написал бы парсер, который выдирает из html тэги style и script, а также инлайн стили и сохраняет в файлы. Вот тогда это было бы полезно.
Продолжай наблюдения.
Сорри, Бро, только пичарм на говнояве
Можешь еще Спайдер попробовать но он фуфлыжный
Можешь попробовать мс визаул студио коде - оно и под Линукс есть, но без главной фичи в умном авто дополнении конкретно питона оно не очень интересное
Атом/саблайм не тащат вообще.
Так что или Ява и пичарм, или вим. Вот и весь выбор.
Из посылаемых игрой пакетов ты выдрать ничего не можешь?
Распознавание нпс на скриншоте это как-то rick-o-sheetom-tcherez-zjhopoo
Распознать могу, почти все пакеты доступны, но как именно узнать где npc на экране, а не во внутренних координатах игры?
Нужно больше ^евреев^ инфы.
На чем клиент игры, свободная ли камера, какие данные доступны.
А так гадание на кофейной брухле какое-то.
честно - я бы наверное с другого начал. Через артмани посмотрел мож в памяти выводятся где нпц по-особому, потом бы уже гадал как из этого их координаты дёрнуть и тд
>>763311
Игра diablo II, в онлайне. Я пробовал подменять и генерировать пакеты, чтобы автоматизировать свои действия. Это работает, но на сервере есть античит, который увидит эту подмену (по крайней мере в том виде, в котором я её делал). Поэтому я хотел сделать беспалевного бота в этом плане. Да, часть информации я могу собрать из приходящих пакетов, но тыкать хочется мышкой по картинке. Камера не меняется, игра изометрическая, то есть всё поле состоит из тайлов. Но тут есть проблема соответствия серверных координат и клиентских.
Поэтому я и подумал о всяких обучения, распознаваниях. Насколько это сложно не знаю, но эта тема, помимо прочего, мне интересна.
я там еще не бывал, благодарю
Можно и другие брокеры использовать, но тебе в любом случае нужно где-то хранить список задач.
OpenCV, нейросети.
Я сейчас "балуюсь" задачкой распознания функции.
Есть набор данных (2д-координат), который получен от некоего условно реального процесса, но в то же время известно, что этот набор должен соответствовать некоторой типовой функции (y=kx+b, y=ax^2+bx+c, y=e^x, и другие). Простыми вычислениями не получить ничего, так как данные в наборе слегка зашумлены.
Забавно видеть, как сначала сетка успешно учится на тестовых данных отделять один класс функций от остальных, но когда выдираешь один нейрон из какого-то слоя - уже не может научиться.
что ты несёшь? какой нейрон ты там выдёргиваешь? один нейрон ничего полезного не даст, всё в том, как они работают вместе.
Вы видите копию треда, сохраненную 26 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.