Это копия, сохраненная 22 сентября 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Свой код кидайте через https://ideone.com/
Книги: https://yadi.sk/d/tArKKuQu3Kejuq
Прошлый тред: https://2ch.hk/pr/res/1040899.html (М)
Чутка проебался, вот ссылка на предыдущий треб, простите
https://2ch.hk/pr/res/1046284.html (М)
>хотя за рубежом он не так популярен
Отчего же, кто-то же должен чистить сортиры писать лендинги.
PHP за рубежом на 7 месте по популярности:
https://tiobe.com/tiobe-index/
А что было в 2011 и 2004, что питун так взлетел?
Как на этот сайте считается популярность? Она совсем не коррелирует с количеством работы?
Какой-то странный рейтинг, С и жава падают пиздецки как, а остальные языки не растут. Если с жавой еще более менее понятно, есть куда перекатываться, то КУДА УХОДЯТ С СИ? Да еще так массово.
Короче задание удалить всё повторяющиеся емейлы из таблицы, но так чтобы остались с меньшими айдишниками. И там блять на второй проверочной таблице сначала вставляют id=2, а потом id=1
Почему моя уебищная хуйня не работает, может кто объяснить ?
DELETE FROM Person WHERE id NOT IN (SELECT id FROM (SELECT FROM (SELECT FROM person ORDER BY id ASC) AS kek GROUP BY email) AS top)
Знаю, что выглядит оче уебищно, но по моей логике он должен вернуть сначала всё, по порядку id от меньщего к большему, потом вернуть всё сгруппированное по емейлу и уже оттуда выбрать id с которым и сравнивать начальный id. Но что-то идёт не так.
ages=17,53,10
D=dict(zip(names,ages))
print(D)
получаю: {'Brad': 17, 'Brend': 53, 'Ann': 10}
Можно как-то заставить Питон не слать нахуй те имена, которым не хватило предметов из второго iterable, а проставить им None?
zip_longest гугли
Погуглил. Прикольно.
Тогда ещё вопрос. Вот в документации написано:
'zip() Returns an iterator of tuples, where the i-t...'
Почему так? Ведь она возвращает zyp type object. И почему это zip type object, а не список или tuple? В конце концов это iterable максимум, но никак не iterator.
Да. Хотя вообще странно, может ли праймари ки быть не автоинкрементом ?
Вот сама задача
https://leetcode.com/problems/delete-duplicate-emails/description/
Ты видимо не понимаешь что такое итератор. А возвращает zip type для эффективности, в двойке там лист (или кортеж, не помню точно)
>И почему это zip type object, а не список или tuple?
Потому, что итератор универсальнее и меньше потребление памяти.
>В конце концов это iterable максимум, но никак не iterator.
https://wiki.python.org/moin/Iterator
Help me
Как запустить процесс (cmd.exe к примеру или тот же интерпретатор питона) с возможностью записывать что-то в STDIN и читать результат в STDOUT?
Че-то попробовал с subprocess и вот результат. У кого есть идеи или наработки?
В питоне по умолчанию input читает stdin, а print пишет в stdout
Если тебе это мало, то импортируй их явно и почитай доки
from sys import stdin, stdout
ну ты жопой читаешь что-ли?
грубо говоря надо скрипт который выпонял бы команды системной оболочки и возвращал ответ, я знаю что делает sys.stdout.write() input() и print() - это не то, было бы все так просто типа print(execute(input())) и циклом весь вывод читать и в сокет отправлять)))
но нихуя такого нет, есть только subprocess который сначала дает ввести STDIN а уже потом отдает STDOUT.
Жс/пых конечно, жил бы ты не в россии то над питоном можно было подумать, а так нет
Эх, почти что эталонный вкатывальщик, если бы еще написал про зп от 100к, то можно было бы в палату мер и весов отправлять.
>Отчего же, кто-то же должен чистить сортиры писать лендинги.
>PHP за рубежом на 7 месте по популярности:
Когда пытался в США найти работу как фрилансер, то основные заказы на пыхе были от всяких нубов установивших вордпресс и им нужен был некий скрипт за 10 баксов. Но чаще всего этот заказ уходил от меня к индусам, который предлагали делать тоже самое за миску супа. И америкоты на радостях соглашались не подозревая, что этот скрипт отвалится через 5 минут, а того индуса уже не сыскать.
Рейтинг действительно странноват. Но тенденцию он показывает правильно, хоть и с погрешностью. Давно за этим рейтингом смотрю. Вот например я уверен, что swift популярнее ruby. Потому что swift прост как питон (это раз), и он приносит реальный хлеб сразу (это два). Буквально месяц обучения свифту и вы уже пилите игру под айфон.
>ЗАХЕР ВАМ ЭТОТ ПИТОН?
СЕЙЧАС УЖЕ ВСЕ ПИЗДРЯЧАТ НА GOLANG, даже уже бабку показывают на Первом канале, которая осилила Go
https://youtube.com/watch?v=_Z_k5G73ttk
А если запускить cmd.exe с опцией /K ?
Или оно как WordPress только для блого-подобных сайтов?
Go - говно написанное самодурами для себя. Надеюсь, что загнется побыстрее.
Заебало. Чувствую, хуйну запросом. Будет не очень красиво, зато просто и понятно.
ДЖАНГИСТЫ: ответьте на это.
Насколько в Django сложно написать что-то не напоминающее блог или скроллинг-страницу-презентацию очередного фреймвока? Нужно будет поизвращаться или это легко сделать?
Но блог и имиджборда совершенно разные сайты.
И если можно имиджборду запилить - то почему нельзя какой-то обычный статический сайт?
Для статистического сайта воспользуйся каким нибудь cms лучше
Так вот я и пытаюсь взвесить. Как пошли Вордпрессы с Джумлами, так я сразу потерял интерес к вебдизайну. Ибо это не сайты.
И мне интересно - Джанго такая же ограниченная, или ее можно использовать для нестандартных для CMS целей/сайтов? Может там кроме "добавления статей" в ленту есть еще что-то интересное?
Как напишешь, так и будет, нынешняя джанга имеет почти все возможности ror, например
Если хочешь совсем свободы, то посмотри в сторону фласка, там ты вообще все сам допиливаешь
А есть где-то примеры необычных сайтов на Django и Flask, чтобы посмотреть чего максимум можно добиться на них, оценить возможности?
Что для тебя необычно? Если ты про оформление, то сейчас это зависит от жс свистелок
Необычное взаимодействие с бд? Необычная аутентификация? Необычный шаблонизатор?
Блядь, джанга и фласк это вебфреймворки, а не смски, можешь извращаться с ними как хочешь. По-ходу ты сам не знаешь чего хочешь.
Необычный для CMS интерфейс и функционал. То есть не блоги/статьи и не сайты-визитки со скроллингом, а что-то другое хотя-бы, но лучше интересное. Чтобы оценить возможности.
>>1050102
>вебфреймворки, а не смски
А в чем разница? ЦМС-ки вроде тоже со своими фреймвоками встроенными. Джумла например. Да, я не разбираюсь. В чем разница-то?
>Необычный для CMS интерфейс и функционал.
>django\flask
Посмотри хоть один демонстрационный видосик на ютубе по этим фреймворкам, ты похоже вообще не понимаешь что такое серверную логику
Я так понимаю, что общее в том, как минимум, что CMS и эти "вебфреймворки" ведут базу пользователей, хранят статьи в базе и следят за сессией пользователя?
А меня интересует, кроме зарегестрированных пользователей, работа с сайтом без регистрации, а также мой функционал. Вот например imageboard, или booru, или онлайн-редактор какой-нибудь (photoshop/GIMP/Word/др), или еще что-то помимо этих лент с новостями.
Ну посмотри какой-нибудь скайсканнер, вот такое можно.
>ведут базу пользователей
Могут вести, а могут и не вести, как напишешь
>хранят статьи в базе и следят за сессией пользователя
Как напишешь, так и будет
>онлайн-редактор какой-нибудь (photoshop/GIMP/Word/др)
Это выполняется на клиентской стороне и скорее всего написано на жс, тут к бэк-энду вообще мало относится
Ok, но как с необычными сайтами? Вернусь к примерам с imageboard и booru.
imageboard - быстрое обновление, интерактивность, деление на доски и треды (необычная структура для сайтов)
booru - база изображений, тэги, много тэгов, тоже структура необычная.
Такое запилить можно? На Flask? А на Django? И наскольо это геморройно.
И чем, кроме базы пользователей, они помогут, по сравнению с созданием сайта с нуля?
Серьезно - пийтфон
Ну если кратко - нельзя смешивать в одном предложении двая языка. Говори Пайтон, когда говоришь по-английски, и используй адаптированное Питон когда говоришь по-русски.
благодарю
А именно
list1 = ['a', 'b', '1']
list2 = ['c', 'd', '2']
И главный список (куда все стаскивается) должен выглядеть так:
main_list = ['2', 'b', 'c']
Тогда непонятно нахуй нужны, особенно в случае Instagram и Pinterest - зачем им были именно Flask/Django?
У их разработчиков и спроси.
Хочу вкатиться в django. Какую версию использовать? Самую последнюю? Тут в гайде версия 1.8. Если я буду использовать самую последнюю версию, то у меня все будет работать?
Спасибо! Но я уже сделал свой костыль
Не подскажешь, как вернуться к началу цикла if?
Мне просто надо, что бы в пароле были цифры, большие и маленькие буквы
Бля, я сдаюсь, короче.
Надо запилить генератор пароля длиною в 8 символов, в котором обязательно должны быть цифры, маленькие и большие буквы
https://ideone.com/z20OlX
Бля
Вот как сделать - при не наличии цифры - сгенерировать пароль заново
И при не наличии большой и маленькой буквы
Плохой способ, не делай так никогда. Используй join.
ящитаю, что самый охуенный вариант это сделать как на пике. Но теперь у меня у самого вопрос к другим анонам, почему после str(r) нихуя не происходит и Питон все равно выводит мой пароль как список? Кстати, тоже оцените по говнокоду.
Мимо-другой-вкатывальщик.
1. a + b ( c / 2 ) https://ideone.com/d2OwGp
2. (a^2 + b^2) % 2 https://ideone.com/k4HJop
3. (a + b ) / 12 c % 4 + b https://ideone.com/3NO1lA
4. (a - b * c ) / (a + b ) % c https://ideone.com/7oruUo
5. | a - b | / ( a + b )^3 - cos(c) https://ideone.com/cOYWME
6. ( ln(1+c) / -b )^4 + |a| https://ideone.com/P0zoCI
Заранее огромное спасибо!
Блядь, я проебался с умножением, ебаная разметка
dx, dy = -dy, dx
отличается от записи:
dx = -dy
dy = dx
На конкретно этом примере выдается разный результат https://ideone.com/f8Cthu
Я просто тоже учусь и делаю любые примеры, которые вижу.
Тем, что в первом случае значение dy станет равно -dx, а во втором dy станет равно -dy.
>Тем, что в первом случае значение dy станет равно dx, а во втором dy станет равно -dy.
фикс
Можно, введением 3-ей переменной, но зачем?
Я сам джанго начал изучать недавно. Живу в дс2. Как думаешь, до января/февраля смогу вкатиться?
Бамп!
1) сделать юзердикт со своим итератором
2) while true и переменная в качестве счетчика-индекса, которая бы обнулялась, когда становится равна длине списка
Возникла проблема, когда я пытаюсь получить объект поста, то вылетает 404, если убрать все значения publish, то мы получаем объект, хотя код точь в точь, как в книжке, может бы ли это быть из-за того, что я использую версию 1.11, а в примерах 1.8 ?
Хм, обновил дату в админке, все начало показывать
Аноны, нужна ваша помощь в слегка нестандартном виде. Можете подбросить мне своих гитхабов с проектами, небольшими скриптами, чем угодно, на питоне? Хочу научиться этому пресловутому "умению читать чужой код". Заодно зведу вам влеплю.
Он как конструктор, после того, как с фласка на джангу пересел испытал огромное облегчение, там больше батареечек из коробки
Ага, а инстаграм на джанге.
Недавно начал изучать Python 3.
Появилась идея создать свой первый простенький онлайн проект на Django для получения практических навыков и их закрепления.
Для себя нарисовал примерное ТЗ:
1. На главной странице кококо-лендинг с описанием функционала сервиса, тарифами(месяц, полгода, год) и большой кнопкой Зарегистрироваться.
2. Клиент регистрируется с помощью email и пополняет баланс через агрегатор платежей типа Robo/Free/Inter-касса и т.п.
3. В личном кабинете Клиент вводит некие данные в специальное текстовое поле. Например: "анекдоты про блондинок, анекдоты про женщин за рулем, анекдоты про Вовочку".
4. "Клиент" оплачивает нужный ему период предоставления услуги. Например на месяц.
5. Итог: в течение месяца, ежедневно, клиенту на почту приходит информация, которую генерирует мой скрипт. Например: "анекдоты про блондинок, анекдоты про женщин за рулем, анекдоты про Вовочку" соответственно.
Ориентировочное количество клиентов: максимум 5000 в месяц.
Вопросы:
Как такое лучше всего реализовать?
Что изучиать?
Как бы делал ты, анон?
Хотелось бы примерный алгоритм шаблон предстоящей работы.
django by example или djangobook
У меня просто нет представления как создаются онлайн проекты. Пазл в голове не собирается.
Пока мысли такие:
В Джанго уже есть админка и встроенные штуки для регистрации/авторизации пользователей.
Следовательно, там уже есть БД SQLite3. Её и надо будет изучать.
Сделать отдельную БД, в которой будет указаны:
1.Почта
2.Дата регистрации
3.Баланс$
4.ДатаНачалаПодписки
5.ДатаОкончанияПодписки
6.СколькоДнейОсталось
7.ОпцииКлиента(в примере это темы анекдотов)
Морду пилить с использованием Bootstrap. YOBA-дизайн не нужен, а вот адаптивность желательна.
>>1050870 - кун
Анончики, подскажите как бы Вы пилили подобное?
Ты вообще про джангу хоть что-то читал? Сдается мне что нет. Так вот пройди хоть официальный туториал, что бы впредь подобных дебильных вопросов не задавать.
Пилю схему, пилю логику, пилю веб-парашу. В чём проблема?
>что то вроде приложения с консолью под линуксы?
Не понял, тебе нужно приложение в терминале или графическое приложение с отдельной консолью?
На винде работает, на линуксе первые разы работало, потом стало падать с исключением из-за того, что пыталось выяснить порт у неподключенного сокета. Я предполагаю, что это потому что select засирает дескрипторы, а обратно не очищает, поэтому они все уже помечены. Т.е. насколько я понял, если это на сишке писать, там сначала должен быть FD_ZERO какой-нибудь, а потом уже select идти. А в питоне такого не нашел.
Дебилизм какой-то. Перепроверил, google.ru сканируется. Изначально на нем и проверял, потом просто видимо стали блочить такие запросы. А с локалхостом почему-то не работает
>ASUS UX303UA
>4 гб
>i3 серии U
Бери макбук, там будет гарантия, что система не будет зависать несколько нет и жить больше 3 часов без розетки, а с этим асусом все грустно и вообще, лучше бы в вообще хв спросил
А ведь когда то я купил ноутбук с топовой apu от амуды с 8 гб памяти за 28 тысяч, эх...
Мда, но только если данных мало. А если много - то сохраненная внутренняя копия всех значений списка может весить слишком много. И тогда лучше самому зацикливать. Итераторы-то делаются, чтобы сократить расход памяти. А тут такой неожиданный поворот - сохранять весь список (вернее весь массив данных, которые может получают/вычисляют динамически) во внутреннем кэше. Спасибо хоть предупредили в доках.
Напиши генератор тогда, самое логичное решение
В терминале. Ну вот например как Астериск есть телефонная атс, там консоль своя запускается старт стоп можно сделать посмотреть какие то параметры.
Я тут уже кой чего накидал за сегодня. Сделал просто скрипт отдельный запуска, он запускает в фоне другой скрипт, этот скрипт в /tmp/ создает файл, если он есть то не запустит - защита от дублирования запуска, если нет то создаст и запустит скрипт, и в циклах проверяет существует ли этот файл. Тоесть когда stop делаешь файл удаляется другой скрипт видит что файла нет и завершает аварийно работу. Наверное это пиздец колхоз какой то, но я ничего умнее не придумал, всякие киллы процесса что то пока сложно и нудно, а демона писать нет необходимости скрипт редко будет запускаться. Думаю для первого скрипта норм. Потом попозже скрипт выложу. Может чего посоветуете.
пиши на пхп
>про ... хоть что-то читал? Сдается мне что нет.
>Так вот пройди хоть официальный туториал.
Смешной совет анону в стиле /b/
Чтобы узнать хоть что-то нужно прочитать всю документацию. Логично. А чтобы узнать что такое фильм нужно закончить автерские и режиссерские специальности.
Если ты хочешь монолитное приложение - просто открой консоль и читай из нее пиши в нее что хочешь. И параллельно делай какую-то работу.
Если хочешь сложнее что-то - делить приложение на управляющий и работающий процессы, - то или запускай другую программу из своей и управляй ей имитируя ввод пользователя, или порождай другой процесс и общайся с ним сообщениями или через файлы.
Гугл вообще любит блочить.
Лучше эти 50тыр пропить
>>б/у macbook
>макбук, там будет гарантия, что система ... будет ... жить больше 3 часов без розетки
А слово б/у тебя не наводит на размышления, что с батареей уже не все в порядке?
>А чтобы узнать что такое фильм нужно закончить автерские и режиссерские специальности.
Если ты собрался снимать фильм, то это явно будет не лишним.
как передавать данные между разными клиентам, которые сохраняются в памяти процесса
то есть один клиент, подключился, передал значение - оно сохранилось в памяти процесса
второй подключился - получил его
Скачиваю какую-нибудь либу через pip для одного юзера, а у другого такой либы нет. Как все синхронизировать, без костылей, вроде симлинков? Питон глотает место на диске, как удав.
ОС - линух. Гугл молчит.
Ну если найдёшь Акку для питона, то можно. Но обычно для этого ставят Redis, ZeroMQ и тому подобную срань.
За год с батареей макбука ничего не случится, он все равно будет жить дольше без розетки, чем этот асус
Ставь пакеты в систему. Либо через линукс менеджер пакетов (apt), либо через питон, но в систему (sudo python3 -m pip install ...). Если используешь env-ы, то никак, ибо env-ы для того и созданы, чтобы изолировать пакеты.
Надо ввести число, которое должно быть не меньше 5 и введенные данные должны быть числом. Если что то не так, опять ввести число
goto
Да, уже додумался, спасибо
Эх, а вот если бы в программах были какие-то блоки, например, выполняющиеся ЦИКЛИЧЕСКИ, хмм...
Надо подсчитать количество символов в текстовом файле.
i=0
j=0
for line in open('J:/text.txt'):
if 'с' or 'С' in open('J:/text.txt'):
i+=1
elif 'c' or 'C' in open('J:/text.txt'):
j+=1
print(i, j)
Для файла пикрилейтед выдаёт i=3, j=0, что не так.
И ещё вопрос: у лутца в книге пишется что лучше всего построчно итератором считать если попадутся очень большие файлы. Как изменить код для этого?
у тебя уже идет просмотр документа построчно, т.к. открытие файла в цикле for
И ты сделал хуйню, когда проверяешь наличие символа в новом open'е
И для проверки наличия символа есть метод .count или можешь заюзать регулярки
У тебя elif, когда в не выполняется хоть одно из условий тернарник завершается
Ага, спасибо.
>И ты сделал хуйню, когда проверяешь наличие символа в новом open'е
Т.е. просто написать if 'с' or 'С' - без 'open'?
Или если учитывать это
>И для проверки наличия символа есть метод >count или можешь заюзать регулярки
list.count('c' and 'C')
>У тебя elif, когда в не выполняется хоть одно из условий тернарник завершается
Поставить continue?
>Т.е. просто написать if 'с' or 'С' - без 'open'?
Пиздос блядь, иди лутца дрочи, пока не дойдешь до тернарников
>Поставить continue?
Ух блядь, ты куда лезешь нахуй, какое тебе нахождение символов в файле, иди синтаксис учи
И на том спасибо.
>в моем городе (Одесса)
Земляк в треде
>Стоит ли смотреть в сторону других технологий с таким раскладом
А так хочется стать погромистом? Если цель только в наличии работы, то даже тут есть дохуя контор, куда требуются офисные планктоны
Пифон вообще не для постсовка, тут еще и кризис ебанул и нужны готовые спецы, а не джуны, которых еще учить надо
перешел на 3 курс иб, С++ отложил(крафтил йобы в qt, утилиты всякие для облегчения жизни) из-за низкого кол-ва вакансий для июней, есть C# опыт на уровне пачки курсачей, но питон приятней как-то, вот и раздумываю. Я и так и так планирую быть погромистом, осталось выбрать технологию которую изучу как изучил кресты(лол) и пытаться куда-то прорваться, но как выбрать чтобы не обосратся и себя не потом не доканывать, эх
>крафтил йобы в qt, утилиты всякие для облегчения жизни
А почему не в быдлере? Как по мне, там удобней
>но как выбрать чтобы не обосратся и себя не потом не доканывать
Веб. Был, есть, и будет всегда.
я о языке, не точу джангу только потому что не знаю какая будет ситуация через год другой, да и та что сейчас меня пугает, июни не нужны практически, вот и спрашиваю мнение местных, стоит ли в укр вкатывать на питон(веб) или смотреть на c#(веб) или что-то еще, может ли ситуация поменяться. Просто когда на всю страну 20 вакансий на жунов(если наберется) то это очень пугающая цифра
тыкать формы можно как там так и в qt, разница в том что знания билдера не имеют спроса вообще, в отличии от qt, в котором ко всем есть qml, на котором можно делать ui куда проще и красивей чем стандартные контролы, хотя qt шные хоть можно без издевательств переделать в плане оформления, а в билдере хрен, а про qt framework вообще молчу, большая часть работы зачастую сделана за тебя
после сисярпа и пифона, для меня это закончится плохо, лучше уже сисярп, по нему вакансий больше чем по жабе
>Хотя я сам после плюсов и питона не перекатывался бы, ибо просто не выдержал такого пиздеца
то то же
Хочу сделать типо что-то словаря с айпи
но как сделать, что бы от определенного число до определенного, айпи прибавлялись и показывались
типо
output
186.25.36.29
186.25.36.40
186.25.36.41
Думал через while или from, но выходило это:
срипт
i = 185
d = 241
c = 250
f = 200
while i and d and c and f!= 256:
i += 1
d += 1
c += 1
f += 1
print(i,d,c,f)
output
186 242 251 201
187 243 252 202
188 244 253 203
...
239 295 304 254
240 296 305 255
241 297 306 256
Хочу сделать типо что-то словаря с айпи
но как сделать, что бы от определенного число до определенного, айпи прибавлялись и показывались
типо
output
186.25.36.29
186.25.36.40
186.25.36.41
Думал через while или from, но выходило это:
срипт
i = 185
d = 241
c = 250
f = 200
while i and d and c and f!= 256:
i += 1
d += 1
c += 1
f += 1
print(i,d,c,f)
output
186 242 251 201
187 243 252 202
188 244 253 203
...
239 295 304 254
240 296 305 255
241 297 306 256
https://docs.python.org/3/library/ipaddress.html
ipaddress.ip_network тебе наверно это нужно?
Я напишу что имеем на данный момент. С уровнями знаний.
1)Python3 (базовый уровень, стандартные либы, virtyalenv развернуть, классы написать)
2)Django>=1.9 ( тоже базовый +- могу блог, мини магазин какой написать, регистрации пользователей с правами и шлюхами)
3)SQL(низкий уровень, аля SELECT* FROM tabel ну это я подтянуть за пару дней смогу, главное понимание принципа)
4) Сопутствующие навыки HTML5, CSS(Bootstrap но могу и на голом, я бы оценил как средний навык но не стану)
А так же git(учил для себя), Ubuntu(на уровне тупо пользователя), Pycharm
ну и на конец English-elementary литру читаю со словариком короче.
Так вот к чему я написал эту прастыню никому не нужной хуйни.
А хочу узнать у опытных djangistov достаточный ли это уровень что-бы искать работу джуна? или на что-то налечь основательно(делитесь стори какой уровень был у вас). Стоит ли уделять много внимания портфолио какое не какое? или на джуна всем пофик что он там начирикал?
P.S. тут вопросы на собеседованиях нигде не пробегали? На реддите почитал так там хуйня какая-то для детей.
IPv4 - это 32 битное число, представляемое для удобства в виде 4 октетов. Тебе достаточно перебирать обычное число, а потом либо либой выше превращать его в строку, либо самостоятельно разбивать на октеты для пользователя
>combination
Traceback (most recent call last):
File "...", line 1, in <module>
for i in combination(range(1,255), 4):
NameError: name 'combination' is not defined
Я буду юзать ipaddress. Там можно айпи переделать в 32 бита, и потом простым циклом прибавлять.
Возможно, но мне так неудобно.
Нигде, подробные есть только для крестов.
Правда есть книжка Прохоренок Н., Дронов В. - Python 3 и PyQt 5. Разработка приложении - 2016, он она так себе.
Слишком тухло, только самые основы в туториале.
>swift прост как питон
Swift - это фрактал ебанутого синтаксиса. Самый сложный и поехавший синтаксис из всех актуальных языков.
ИМХО: python > ruby > php > java > javascript > c++ > моча > говно > c# > червь-пидор > swift
Достаточный, иди устраиваться. Если на собеседовании будут доебываться, отправляй их в этот иит тред.
эх, вам бы все шуточки шутить :(
class Se:
i = 1
def Print(self):
print(i)
Se.Print()
__str__ уже не в моде?
Traceback (most recent call last):
File "C:\Users\homepc\Desktop\te.py", line 6, in <module>
Se.Print()
TypeError: Print() missing 1 required positional argument: 'self'
ну так а ухли ты тогда выебываешься, пиши дальше на питоне, поменяй сферу деятельности, может тебя не питон заебал ?
https://ideone.com/4o7K0j
https://ideone.com/G4oV7M
А теперь съеби и прочитай хотя бы туториал на сайте питона.
Ну я пососу твою умную писечку и стану чуточку умнее. :3
1)>>1052833
Что такое метаданные? Не совсем по Питону, но все же. Загуглил. Значит, допустим, у меня есть видео 2ch_cheese_pizza.webm, а его дата создания, вес в Мб, качество - его метаданные?
2)Вы знаете документацию по cmd шинды, или на чем ты вы там сидите? Это нужно для создания каких-нибудь консольных приложений? Например, если я хочу вызывать консольное окно определенных размеров, где ввод пользователя осуществляется в самой нижней строке (курсор всегда там), выделенной серым, а результаты занимают всю остальную часть. Такое приходится делать и нужно ли оно?
2.1)Допустим, я хочу сделать приложение с консольным интерфейсом и там должна быть возможность очистки экрана. Мне нужно найти функцию очистки экрана Питона, или придется использовать subprocess.call('cmd') и использовать встроенную туда cls?
3)Вообще, существует типа основной терминал? То есть, когда я запускаю какую-нибудь обычную программу Питонскую (без суброцессов) и когда я вызываю через субпроцесс cmd, они же выглядят одинаково - черные окошки, с разным набором функций. Есть функции и методы управления этим дерьмом? Очистка экрана, изменение его размеров, цветов, вывод в произвольных местах и все такое?
Можно документацию почитать. Можно книги по ООП не в питоне. Не видел хороших книг по ООП именно для питона и этому есть причины. Питоновский ооп сильно ограниченный в сравнении с другими языками.
Вот неплохая статья, она неплохо объясняет почему всякие классические паттерны в питоне не так часто используются (потому что они уже заложены в дизайн языка).
>Питоновский ооп сильно ограниченный в сравнении с другими языками.
Ну-ка расскажи нам про "ограничения", лол.
> Что такое метаданные? Не совсем по Питону, но все же. Загуглил. Значит, допустим, у меня есть видео 2ch_cheese_pizza.webm, а его дата создания, вес в Мб, качество - его метаданные?
Да, но обычно имеется в виду продолжительность видео, ширина-высота, кодек, битрейт.
> 2)Вы знаете документацию по cmd шинды, или на чем ты вы там сидите? Это нужно для создания каких-нибудь консольных приложений? Например, если я хочу вызывать консольное окно определенных размеров, где ввод пользователя осуществляется в самой нижней строке (курсор всегда там), выделенной серым, а результаты занимают всю остальную часть. Такое приходится делать и нужно ли оно?
> 2.1)Допустим, я хочу сделать приложение с консольным интерфейсом и там должна быть возможность очистки экрана. Мне нужно найти функцию очистки экрана Питона, или придется использовать subprocess.call('cmd') и использовать встроенную туда cls?
> 3)Вообще, существует типа основной терминал? То есть, когда я запускаю какую-нибудь обычную программу Питонскую (без суброцессов) и когда я вызываю через субпроцесс cmd, они же выглядят одинаково - черные окошки, с разным набором функций. Есть функции и методы управления этим дерьмом? Очистка экрана, изменение его размеров, цветов, вывод в произвольных местах и все такое?
Curses.
Нет модификаторов доступа (считай что инкапсуляции нет), нет интерфейсов.
Тут можно придираться к словам, типа он не ограниченный, а наоборот более свободный. В любом случае, он не такой как везде и половина ООП паттернов тут неприменимы, да и не нужны.
>Нет модификаторов доступа (считай что инкапсуляции нет)
По сути ее нигде нет, если очень хочешь, то в любом языке можно приватный атрибут получить
>Нет модификаторов доступа (считай что инкапсуляции нет), нет интерфейсов.
Одни и те же мантры, даже обоссывать лень, и так уже сотню раз эти аргументы окропляли уриной. Давай, скажи что соглашение об именовании не тру
-Standalone App 1
-----__init__.py
-----tasks.py
-----whatever.py
-Website
-----settings
-----manage.py
-----whatever
-Standalone App 2
-----whatever
Зачем многие пихают всю хуйню дополнительно в папку src?
Лучше ли разделить сервисы от сайта на другие ветки или проекты и связывать гитовым импортом?
Во хули ты такой агрессивный? Я тебе не говорю, что питон говно, я говорю что ооп в нем ограниченный. Кучи фич нет -> ограниченный. И ты обратное никак не докажешь.
>Так будет хорошо?
Да.
>Зачем многие пихают всю хуйню дополнительно в папку src?
Кто эти многие? Какую именно хуйню?
>Лучше ли разделить сервисы от сайта на другие ветки или проекты и связывать гитовым импортом?
Если они большие и слабосвязанные, то да.
>Во хули ты такой агрессивный?
Да потому, что это уже сотню раз обсуждали.
>я говорю что ооп в нем ограниченный. Кучи фич нет
Примеры ограничений? Каких фич нет? Давай конкретно, по пунктам.
И что, ты доказал, что ооп в питоне нормальный? Нет.
ООП требует отвечать некоторым принципам. Питон им соответствует только с огромной натяжкой и закрывая глаза на всякую хуйню. Да, можно делать все тоже самое через метаклассы, через миксины, через дескрипторы. Можно даже намного больше сделать. Но это и значит, что язык не в полной мере реализует ограничения, накладываемые ооп.
ООП в питоне, на уровне языка, не реализовано в полной мере в соотвествии с принципами ооп. Оно ограничено реализовано. Это не плохо, это даже хорошо. Но спорить, что тут полноценный ооп - это надо совсем упоротым фанатиком быть.
Что еще? Может погуглить за тебя, или книги за тебя почитать? Этому даже в сраных вузах учат.
>ООП требует отвечать некоторым принципам
Одному. Позднее связывание, или более строгий вариант -- возможность обработки произвольного сообщения. Что питон, между прочим, позволяет сделать. Все остальное -- додумки и маркетинг
Нет манька, пиши принципы, чтобы потом ты маневрировать не начал.
Почему? До меня это уже давно придумали, я просто систематизировал то, что было в моей голове
Откуда ты взял, что позднее связывание - это единственный принцип ооп? Эти понятия вообще никак не связаны.
>>1052962
Почитал, понял о чем ты. Теоретизирования на тему что такое идеальное ооп. Так и эрланг можно ооп языком назвать, но большинство же так не считает, и это не так.
Я писал про ооп в том смысле, в котором оно сейчас существует, в жизни, а не в теории. Как бы грустно не было, но сегодня "говорим ооп, подразумеваем джаву, говорим джава подразумеваем ооп".
Я правильно понял позднее связывание?
> Python Developer
Требования:
> Python 2+ года
> Способность разобраться в дизайне архитектурно и алгоритмически сложных приложений, написанных на языке С.
Каким боком там питон? И что там на нём могут делать?
Можно ли оптимизировать эту х-ню надо подсчитать количество определённых букв обоего регистра на латинице и кириллице в текстовом файле, если да, то как:
l_letters = 0
k_letters = 0
for line in open('J:/test.txt', encoding="utf8").readlines():
a = line.count('c')
b = line.count('C')
l_letters = l_letters + a + b
c = line.count('с')
d = line.count('С')
k_letters = k_letters + c + d
print(l_letters, k_letters)
Для больших файлов выдаёт memory error
mmap
Бамп вопросу
Я тебе уже говорил, когда ты итерируешь open, то файл и так читается построчно, когда ты используешь readlines, то ты загружаешь весь файл, разделяешь его по строкам и заносишь в список
От того и ошибка памяти, я помню, что лутц специально приводил такой пример, что бы избежать ее при чтении больших файлов
И да, зачем ты делаешь count два раза в одной и той же строке?
>когда ты используешь readlines, то ты загружаешь весь файл, разделяешь его по строкам и заносишь в список
Спасибо большое.
Выкинул и символы в файле подсчитались.
>И да, зачем ты делаешь count два раза в одной и той же строке?
В смысле? Символы верхнего и нижнего регистров для кириллицы и латиницы. Или речт не об этом.
> В смысле? Символы верхнего и нижнего регистров для кириллицы и латиницы. Или речт не об этом.
Нет, все нормально
Мне сказали, что лутц - гей, а Саммерферд - герой. Читаю его.
>>The argparse module makes it easy to write user-friendly command-line interfaces.
Разве парсеры не для анализа вообще всего? типа сайтов, текстов, другой информации. Почему тогда сделали модуль только для командой строки?
upd: В книжке говорится изучить optparse, но в документации сказано, что тот модуль больше не разрабатывается и нужно юзать argparse. Лучше слушать документацию, да?
> argparse
> Разве парсеры не для анализа вообще всего?
> arg parse
> Разве парсеры не для анализа вообще всего?
> argument parser
> Разве парсеры не для анализа вообще всего?
Что по этому поводу почитать можно?
try
try
try
except
except
except
Как то так.
Или сделать один try и потом несколько except и описать действия? Он же полюбому на сбой во внутреннем цикле сработает?
А если там внутри вложенный цикл который должен повторится при определенном исключении (pass стоит)? Тогда допустимы вложенные try except?
try:
(тут происходит запись в sql) Соответственно отлавливает ошибки с этим связанные.
Но тут вот внутри происходит еще один цикл который данные получает обрабатывает и дает на запись уже в sql и тут тоже надо сделать try except что бы скрипт не вылетел с ошибкой а просто ругнулся в логи (для последующего разбирательства что мешало выполнить) и продолжил через pass работу.
for i in list:
try:
except:
pass
(запись в лог)
except:
pass
Если так сделать под одним try то он по новой запустит же а не продолжит.
Такое плохо читается. Без реального кода сложно сказать, что там можно сделать. Но попробуй разбить логику небольшие функции внутри которых делай try except.
Еще можно своих эксепшенов наделать. Тогда будешь в функциях отлавливать все эксепшены а наверх кидать свои. Как бы завернуть все эксепшены в 2 своих, например. При одном падать, при другом в лог писать и ничего не делать, или какая там логика у тебя.
Лол, бля, достаточно unique index повесить на колонку с имейлом и игнорировать ошибки. Там, конечно, будет идти не по возрастанию PK, а в порядке физического расположения, но, в общем-то, в твоем случае это наверняка не было важно.
>умею программировать уже лет 25
Небось с 0 лет в ойти вкатился?
>Я никогда не читал никакую книгу именно по питону, пишу на нём как на квикбейсике + стэковерфлоу, конечно же.
Хуя, ебашить 25 лет и даже не пытаться в должной мере освоить навык? Это как-то странно.
>То есть мне пробежаться по фичам тоже нужно, 99%, что я просто не в курсе, что в питоне вообще есть
Дядь, ты с такими вопросами, лучше в гугл иди.
Уверен, что он просто на каком-нибудь дендиговне в детстве в кубасике рисовал, потом на разных бейсиках писал всякое говно под свои нужды, а теперь считает, что умеет программировать. Я с таким пассажиром как-то работал, но это было семь лет назад, так что я думал, что они закончились.
Эмбед и байтоебля мало общего с Питоном имеют, поэтому суть мало меняется, тебе твои годы опыта сэкономят неделю вкатывания. Говорю на правах реверсера, съебавшего в дивный мир крудошлепской скриптопараши. Такие вот дела.
>>1053200
ну и в целом какой-то пиздец, я сюда не возрастом повыёбываться пришёл, а совета спросить. эйджисты хуевы лол.
>>1053187
спасибо, второе судя по оглавлению точно подходит
>>1053203
крудошлёпство меня мало интересует, хотя свою дозу php+js я сожрал. мне интересны базы данных, data science и вот это всё. c sql я тоже вполне норм.
Есть модель с imagefield, когда удаляю ее объект, то сам файл остается на сервере, как удалить его вместе с объектом?
>а совета спросить.
Так с твоих слов ты опытный, а не юный вкатывальщик, у которого из ойтишных знаний только про зп в 300кк/нс. Мог бы и сам в гугле все найти без проблем. Я думал, что у байтоебов с этими очевидными вещами дела обстоят хорошо, а вон оно как оказывается.
Желательно, и было бы хорошо уже знать пайтон на нубском уровне. Как по мне, Лутц годно написал про ООП, а такие вещи как функции, когда я про них прочитал, что что он написал то не только ничего не понял но и запутался в том что знал
Dive into python
https://stackoverflow.com/questions/999056/ethics-of-robots-txt
Игнорируешь ли ты robots.txt, анон?
Представь, что твоя мамка вышла на улицу голой. Написав на сиськах и жопе: "Не смотри сюда". Смогли бы прохожие прочитать эти надписи?
Разве владельцы впн и прокси не сдают тебя по первому требованию? Если обмазываться, то i2p, но это бессмысленно и беспощадно.
Реквестирую путь джуна.
1. переходишь по этой ссылке https://2ch.hk/pr/res/1052010.html (М)
2. читаешь шапку треда
3. составляешь резюме
4. устраиваешься джуном
Поздравляю, ты джун.
Нужно сохранить дату создания загружаемого файла, при обычном сохранении она становится равна дате загрузки, как вытащить ее и присвоить?
Есть один цикл, который должен записывать прокси, в неизвестном количестве. Как я не старался, циклы выходили убогими, и не рабочими. Можете мне объяснить, как мне сохранить переменную, что бы она не перезаписывалась со следующим циклом? Вот сам цикл:
def prdstr():
b05 = 'http'
c12 = (input('How many proxy?: '))
c13 = 0
while:
c121 = input('Paste your proxy (only http). If you want to finish, press Enter:')
if c121 == '':
break
c13 += 1
c15 = {b05:c121}
c17 = {b05:c121}
c16 = {b05:c121}
print(c15, c16, c17)
if c13 == c12:
break
prdstr()
*Пытался в начале узнать сколько будет прокси, чтобы хоть как-то упростить скрипт.
Но этот вариант более реальный.
Да, хуево быть тобой.
>def prdstr():
>==b05 = 'http'
>==c12 = (input('How many proxy?: '))
>==c13 = 0
>==while True:
>====c121 = input('Paste your proxy (only http). If you want to finish, press Enter:')
>====if c121 == '':
>======break
>====c13 += 1
>====c15 = {b05:c121}
>====c17 = {b05:c121}
>====c16 = {b05:c121}
>====print(c15, c16, c17)
>====if c13 == c12:
>======break
>prdstr()
Тут много таких петучей. Не бойся, продолжай изучать ;3
У меня тестовое задание такое
Создать каталог изображений с возможностью загрузки, удаления, редактирования описания, названия и даты создания, а так же поиском по атрибутам,а так же фронтенд к этому (я на бутстрапе сделал, пиздец удобная штука)
Сделал все кроме сохранения оригинальной даты создания
>>1053520
Бамп вопросу
Эйчарка позвонила вчера в 7 часов вечера, спросила про успеваемость в вузе, сколько могу присутствовать на работе (в вакансии было указано про возможность совмещения с учебой), про гитхаб, личные достижения и в 8 часов выслала задание, нужно сделать до 30 (включая этот день), отправлю либо завтра с утра, либо сегодня, если найду способ >>1053520
Охрененная штука из под капота скрапи. Можно срать не снимая свитер.
Это значит жс юзать нужно? Какую нибудь готовую либу не подскажешь? А то с ним не очень дружу
Зачем тебе это? Разве у тебя в задании такое условие стоит? Или ты сам себе задачи придумываешь?
Контора работает с копирайтом фотографий
В условии сказано, что нужно иметь возможность изменять дату съемки фотографии, хотя может просто задание некорректно сформулировано
Думаю, что можно попытаться вытащить exif'ы, но они есть не на всех картинках
>Контора работает с копирайтом фотографий
Какая контора? Вымышленная в задании или та, в которую ты устраиваешься?
Так а по другому и никак, без exif-а это смысла не имеет, дата создания файла легко может не совпадать с датой съемки и к ней привязываться глупо. Хотя и exif тоже не 100% достоверность.
Ну мы же не в /b, что бы диванонить, да и нет у меня там ничего особо, только мусор по гайдам
Спасибо.
ВОРВАЛСЯ НАХУЙ.
Смотрим пикрелейтид. Есть задание, есть пока только реализация парсера и даже она не закончена.
Ответьте на мои вопросы плз:
1)Как убрать пустые строки между usage,description и help-message?
2)Как вообще изменить usage и help, чтобы 'usage' было с большой буквы (как пример в книге), а в help-e вместо 'optional arguments' было 'Options'. Ну и order поправить надо.
ХЕЛП МИ ПЛИЗ.
Вот ещё ideone ссылка на всякий: https://ideone.com/EMNqoN
Хочу кнопочки нажимать в браузере, а не пердолиться с ssh. Чуваки вообще пилят консоли в браузере через canvas, онлайн интерпретаторы и компиляторы.
Как это вообще делают?
Ебать, и для этого ты решил джангу использовать? Да еще и таким извращенным способом.
https://scrapyd.readthedocs.io/en/latest/ Читаешь, изучаешь апи, берешь простой веб фреймворк типа bottle ебашишь на нем страничку, и дергаешь апи скраппи через нее.
Зачем bottle, если все можно сделать в django? У меня помимо запуска спайдеров, еще другие штуки будут. Дергать во view? Покажи мне команду запуска паука в scrapyd.
>Покажи мне команду запуска паука в scrapyd.
А код за тебя не написать? Я тебе ссылку дал, там есть раздел апи, в нем вся нужная тебе инфа.
Lucky трипл, ты сам читал этот апи? Там про запуск сотен спайдеров одновременно говорится тащемта.
Почему? Ты можешь дать развернутый ответ с пояснениями как человек, а не как ебло?
> Some sites apparently use a robots.txt exactly in order to keep their site from being crawled by Google or some other utility that might grab prices and therefore allow people to do price comparisons easily. They have private search engines on the site so they obviously want people to be able to search the site; apparently they just don't want people to be able to easily compare their information with other vendors.
Такой петушне надо ссать в ебло не задумываясь.
>Что такое метаданные?
Метаданные - это сопроводительные данные к чему-то.
То есть описывающие объект данные.
Считаю выше своего достоинства давать какие либо пояснения тупому вкатывальщику. Поссал на обиженку.
>ты сам читал этот апи?
И даже использовал.
>Там про запуск сотен спайдеров одновременно говорится тащемта.
И тебе это мешает запустить 1 спайдер?
А что - кто-то возьмет человека, знающего Scala, но не программировавшего на Java?
>знающего Scala, но не программировавшего на Java
А такие вообще есть? Не считая диванных погромиздов, конечно.
>классические паттерны
Эти паттерны человеческим языком называются приёмами программирования.
Прямого отношения к ООП они вообще не имеют и стары как мир.
Up вопросу, тоже интересно.
И еще интересно что за книга?
Кстати, когда книга писалась может использовалась другая версия модуля, гле было Usage, Options и без пустых строк - такое тоже возможно, а строки пустые могли еще вырезать в книге, чтобы места не занимало лишнего.
Гайз нужна помощь.
Допустим у меня есть список
list = [1, 4, 8, 7, 3, 15,7,7]
Модуль re работает же только на строки?
А как кроме цикла можно получить число + его индекс по возможности, не прибегая к циклам?
Типичный долбаеб, который научился быдлокодить как обезьянка и считает себя выше других.
>>1053978
Programming in Python 3 Mark Summerfield
>>1054036
Сам отвечу на свой же вопрос т.к. приличные люди мне рассказали. Либо никак, либо вместо argparse использовать сторонний docopt т.к. он делает парсер не через сомнительные методы, а через большую docstring которую ты можешь написать какой захочешь конечно в пределах разумного и с небольшими правилами, которые надо соблюдать. Но то, что мне нужно, там сделать можно.
Какие вопросы на питон/джанго собесах задают? В гугле только ответы из 2010 года
Ты собрался писать на языке со статической типизацией без дженериков, зачем есть кактус?
Как оказалось, там не обязательно указывать точно типизацию. Там компилятор сам решает за вас типизацию. Можно вот так a:=3
Насчет дженериков, как объясняют, их специально не внедряют ибо быдло-кодеры используют их через жо... Это примерно как в питоне, массивы специально не внедрили, есть только стороннее решение. Иначе, те кто перекатился из php начали бы искать данные с перебором всего массива как они привыкли это делать.
>Это примерно как в питоне, массивы специально не внедрили, есть только стороннее решение.
Те ебанутый? Array входит в стандартную библиотеку, алсо от списков по функционалу не отличается, кроме ограничения на единый тип данных элементов.
>Array входит в стандартную библиотеку
numpy было сторонним решением и им остается. Да эта либа сейчас поставляется как стандартная.
Но изначально массив не закладывался в архитектуру языка. Это было идеологическое решение. Чтобы кодеры учились использовать вот такие структуры if "word" in list
>numpy было сторонним решением и им остается.
Причем тут нампай? Это вообще ебаный комбайн для работы с массивами. Ты его с типом данных сравниваешь что ли? Совсем укурился, наркоман?
Когда начинал изучать язык, массивов еще не было. И в учебниках объяснялось почему. Единственный раз, когда я использовал массивы - это распознавание изображений через numpy
Массивы были, когда я начал изучать. Но из-за того, что массивы очень похожи на списки, но с ограничением на тип данных и размер каждого элемента, то всех инструкциях рекомендовали использовать numpy.
>Когда начинал изучать язык, массивов еще не было
>Массивы были, когда я начал изучать.
Шиза одолевает?
>Но из-за того, что массивы очень похожи на списки, но с ограничением на тип данных и размер каждого элемента, то всех инструкциях рекомендовали использовать numpy.
Охуительная логика.
на такие вопросы тут не отвечают, бывали тут 1 2 годнх анона, и видимо забили заходить, я задавал такой же вопрос приблизительно, мне посоветовали гуглить загадки тюремные...2sh<3
if (5 or 3 == 4) and (3 or 5 == 5):
print("NO")
else:
print("YES")
Выдает NO
И о синтаксисе or тоже
>Массивы были, когда я начал изучать.
Я вспомнил, что они были и вспомнил почему их не использовал и почему в инструкциях взялся numpy и почему array сделали таким ограниченным.
догнал, спс. Получается пес я
>в питоне, массивы специально не внедрили
А что с массивами не так-то? Как их можно использовать, чтобы можно было оправдаться, свалив на быдлокодеров?
>>> from builtins import bytes
>>> b1 = bytes([49,50,51])
>>> b2 = b'123'
>>> b1 == b2
True
>>> b1
b'123'
>>> b2
'123'
>>> b2 == b1
True
>>> b1 == b'123'
True
>>> b2 == b'123'
True
>>> b1[0]
49
>>> b2[0]
'1'
>>> (b'123')[0]
'1'
>>> bytes([49,50,51])[0]
49
>>>
уносите меня, я порвался, сукаблядь
>>> from builtins import bytes
>>> b1 = bytes([49,50,51])
>>> b2 = b'123'
>>> b1 == b2
True
>>> b1
b'123'
>>> b2
'123'
>>> b2 == b1
True
>>> b1 == b'123'
True
>>> b2 == b'123'
True
>>> b1[0]
49
>>> b2[0]
'1'
>>> (b'123')[0]
'1'
>>> bytes([49,50,51])[0]
49
>>>
уносите меня, я порвался, сукаблядь
Прикол в том, что нужно учить типы данных.
На еще:
>>> bytes([49,50,51])[0]
'['
>>> bytes([49,50,51])[1]
'4'
>>> bytes([49,50,51])
'[49, 50, 51]'
Это был Python 2.7.9
>>> bytes([49,50,51])[0]
49
>>> bytes([49,50,51])[1]
50
>>> bytes([49,50,51])
b'123'
А это - Python 3.6.1
А у тебя какая версия?
вдогонку:
python 2.7.9:
>>> b'123'
'123'
>>> p2 = b'123'
>>> p2
'123'
python 3.6.1:
>>> b'123'
b'123'
>>> p2 = b'123'
>>> p2
b'123'
Чем им не нравится обычный виндовс проводник? Или суть именно в том, чтобы сделать свой собственный проводник с блэкджэком и картинками? И как реализовал? С графическим интерфейсом и всем таким?
Это на джанго надо было делать, в вебе
python 2.7, который должен выполнять код, написанный для 2.7 и 3.2 (для этого импорт из builtins от python-future)
всех делов-то проверить первый байт датаграммы на равенство значению
ну и как это сделать-то, ёб вашу мать? чтоб работало и в 2 и в 3
Да тоже самое, что в Go. Неудобно оттуда данные выковыривать. Код слишком длинный получается.
>>1054294
Я бы так не сказал. Во-первых он очень шустрый, во-вторых сразу создает готовый скомпилированный файл, который уже можно передавать людям. В то время как pyinstaller может смачно послать куда подальше и приходиться гуглить, чтобы обойти очередной глюк.
Nim тоже это умеет и тоже шустрый, наверное даже шустрее. И что?
Go криво спроектирован, насовали говна, да побольше и не думая. И синтаксис говно, ни то ни сё.
>Nim тоже это умеет и тоже шустрый
Julia тоже шустрая
Но у Nim и Julia нет такого количество библиотек как у Go. У гоу уже есть почти все библиотеки на все случаи.
>Go криво спроектирован
Не знаю, что ты имеешь виду. Питон появился, когда в процессоре было одно ядро. Многопоточность появилось в нем, как внешнее решение и работает так себе. Go сразу проектировался под многоядерность.
>синтаксис говно
согласен
Скажи прямо - хочешь денег, поэтому и взялся его учить в надежде их получить
Нет, просто держу нос по ветру
Так при чем тут Гугл - найдутся другие клиенты лохи
VB6 очевидно же
Читает доку по Common Lisp.
Держатель "казино"
Ты собрался его учить как правильно наёбывать?
Он проверяет текст кошерного малвар-письма с подарком. Чтобы ты точно открыл.
Я забыл что такое итератор и как он работает, забыл рекурсию (впрочем особо и не знал, когда то разок прочел и все).
Но с другой стороны, рад что мне откажут, ибо не придется ковырять python 2 c отсутствие перспектив, в обозримом будущем, в переходе на python 3
И ох уж эти охуительные вопросы типа а что вам нравится в питоне?
Нет, минск.
Я вообще завидую твоей возможности ходить на собеседования. Ведь у меня в городе даже специальности нет такой как программист.
Ну это уже совсем мухосранск, нужно хотя бы в миллионике жить или туда перекатываться
>Я забыл что такое итератор и как он работает, забыл рекурсию (впрочем особо и не знал, когда то разок прочел и все).
Лол, я бы с такими знаниями вообще зассал на собеседование идти.
А у меня сегодня было так, собеседовали эйчарка и два спеца из ит отдела
1) отличие списка и кортежа
2) что такое итератор\генератор
3) Какой результат выполнения
tuple('text')
('text')
('text',)
4)Что будет выведено в результате
def f(h)
h = '5'
h = '4'
f(h)
print(h)
и
def f(h)
h = ['5']
h = ['4']
f(h)
print(h)
5) Спросите у спеца что нибудь такое про питон, что бы он удивился от того, что я знаю (я задал вопрос про ассинхронность и asinc await)
А потом попизделки за жизнь, перспективы, прошлые проекты, почему именно питон и бекенд
Из ебанутых вопросов был только один от спеца:
"Ты бы согласился работать у нас, если бы зп изначально была 1 рубль и увеличивалась в два раза каждый месяц"
Пробелы проебались
def f(h)
____h = '5'
h = '4'
f(h)
print(h)
def f(h)
____h = ['5']
h = ['4']
f(h)
print(h)
Ну в принципе норм, кроме вопроса спецу, как по мне, вот почитал за генераторы и рекрсию, понял что я это знаю и ок.
У меня вот задачка была типа:
Есть огромное количество ячеек памяти, нужно обойти их всех, выбрать четные, затем в рандомные записать данные. Затем из записанных прочесть инфу. Есть идеи?
1)Один мьютэбл, другой нет
2)чем итератор отличается от iterable?
3)Никакого. Нет ни присвоений, ни выводов через print. Просто создаешь какие-то объекты, которые тут же проебуться.
4)Так как переменная h не определена вне функции, в обоих случаях будет пиздец (не знаю, как там ошибка про использованние неопределенной переменной)
Все, можно мне на работу?
Кто такие эйчары и спецы? Слышал про сеньоров и джуниоров только.
1) И кортеж занимает меньше памяти
2) Это тут причем?
3) Подразумевалось, что выполняется в командной строке
4) Лол нет, гугли области видимости функций
Эйчар это сотрудник отдела кадров, который ищет кандидатов на должность
>>1054821
Не совсем понял условие, но очевидно, что нужно писать генератор, т.к. данных много
Возможно можно и так.
Ну вот смотри, есть список длиной N(это ячейки памяти), ты должен обойти все четные элементы, и к каждому элементу применить рандом(для того что бы выбрать, записывать туда что-то или нет), если записываешь, то применяешь выдуманную функцию, типа logicWrite, если не записываешь то просто не трогаешь.
Затем тебе нужно прочитать инфу из всех ячеек в которые была сделана logicWrite, применив при этом logicRead.
Четные элементы в смысле четный индекс или четное значение?
>и к каждому элементу применить рандом(для того что бы выбрать, записывать туда что-то или нет)
Рандом применить к значению или достаточно какого нибудь random.choice([True, False]) и только потом применять logicWrite?
>Затем тебе нужно прочитать инфу из всех ячеек в которые была сделана logicWrite, применив при этом logicRead
Можно хранить индексы элементов к которым была применена logicWrite?
> Четные элементы в смысле четный индекс или четное значение?
Ячейки пусты, по индексу
> Рандом применить к значению или достаточно какого нибудь random.choice([True, False]) и только потом применять logicWrite?
Бинго, тру/фолс
>Можно хранить индексы элементов к которым была применена logicWrite?
Дорохо по памяти, там кол-во элементов, равно кол-ву ячеек в памяти 4гб ССД
>Дорохо по памяти, там кол-во элементов, равно кол-ву ячеек в памяти 4гб ССД
А что мешает их на диск сохранять в процессе, а не в памяти держать?
Ну и как вариант можно передать конкретный seed в рандом и сохранить его. Потом можно будет восстановить последовательность рандома.
>Дорохо по памяти, там кол-во элементов, равно кол-ву ячеек в памяти 4гб ССД
Так, а раз ты сказал, что >Ну вот смотри, есть список длиной N(это ячейки памяти) то подразумевается, что список и так у нас в памяти и его достаточно передать в нужную функцию?
А так же число N нам заранее известно?
test="""a='{}',
b='{}',
c='{}'""".format('1','2','3')
Что бы a,b,c друг под другом были. Если \ добавить то она все отступы туда впихивает. Как это правильно сделать? В гугле говорят что вот так надо как я, но я не пойму что я упускаю.
Перамога, молодец.
Анон, я только начинаю, объясните, что за хуйню я наблюдаю в этом посте? Нахуя так много """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""?
'''Ну можешь использовать одинарные, если тебя двойные смущают'''
Так вот, да, хранить индексы(которые, в принципе равны элементам памяти), не торт ибо список длинный.
А вот эти вопросы про зарплату я не просекаю. Когда например спрашивают - а если бы вам предложили работать бесплатно месяц/два, что бы вы ответили? - Что это за тест такой? 4inb: тебя хотят бесплатно эклуайтировать; нет, imho это какой-то тест. Интересно что отвечать.
Кстати, у тебя разметка сбилась (вот почему синтаксис питона стремноватый - пробелы это ненадежно).
Тащем то это математический вопрос, типа зп равна 2^n, где n количество отработанных месяцев, понимаешь фишку. Ответишь "нет" и получишь минус в глазах эйчара
cd mydir запустит командный процессор, который перейдет в каталог и завершится, а рабочий каталог программы останется тем же?
Или потому что нет такого исполняемого файла "cd" - команда втроенная в командный процессор?
Ну это понятно про геометрическую прогрессию, была еще древняя байка про зернышки на доске. Но надо учитывать и реальность, а если эти пидоры тебя через год кинут? Получится, что ты практически забесплатно работал. До нормальной зп надо как минимум 16 месяцев отработать.
Издеваешься?
>"Ты бы согласился работать у нас, если бы зп изначально была 1 рубль и увеличивалась в два раза каждый месяц"
А вот как узнаешь, может он решил таким образом тебя хитро наебать.
Это я пробовал. У меня вот отступы пробелами сделаны и при соединении строки он впихивает все эти пробелы в переменную.
test="a='{}', \
====>b='{}', \
====>c='{}'".format('1','2','3')
Вот вместо '=' пробелы. Или я как то отступы неверно делаю?
Это наверное тонкая проба на знание степеней двойки (необходимо для программиста), но в такой тсрёмной и подозрительной форме, что лучше там не работать.
Ну тогда так:
test="a='{}', " \
____"b='{}', " \
____"c='{}'".format('1','2','3')
или так
test=(
____"a='{}', "
____"b='{}', "
____"c='{}'"
).format('1','2','3')
В моей мухосрани количество вакансий на питон-джуна 1 примерно равно количеству резюме с ссылкой на гитхаб (причем почти без содержимого) 2, мне либо тут работать либо в ДСы понаезжать
Хм, не знал, что конкатенировать строки можно вообще без соединителей, к тому же отступы не имеют значения (и это в Python!)
{'http': '15.15.15'}
{'http': '14.14.14'}
в
{'http': '15.15.15',
'http': '14.14.14'}
Включая то, что айпи будут вводиться в неизвестном количестве
Хотя стоп, у тебя один и тот же ключ, такое работать не будет
Блять, а как сделать что бы выходило? Возможно while цикл сделать?
вот мой код
for i in (input('Proxy: ').split()):
_v = {'http':i}
_print(v)
Тебе требуется просто вывести или как? Можешь сделать один ключ 'http', а его значением список со строками, но если у тебя в словаре будет один ключ, то тогда лучше сделать множество
Смотри, я вводя прокси через пробел, закидываю их в {} а потом кидаю в url.request
В словаре всегда будет http. Как получше будет сделать множество?
Мне нужно только:
input
>>> 15.15.15 14.14.14
output
v = {'http':'15.15.15','http':'14.14.14'}
Все остальное мне просто не нужно
Ноуп
>v = {'http':'15.15.15','http':'14.14.14'}
Невозможно, ключи в словаре должны быть уникальны, в таком случае как у тебя останется просто {'http':'14.14.14'}. Ты полностью задачу сформулируй, а то ты какую-то дичь творишь.
Нужно что бы при вводе прокси, они записывались в словари, типо такого {'http':'15.15.15','http':'14.14.14'}
что бы остановить ввод прокси, прожать Enter
Я тоже так думал, но я не знаю сколько будет прокси вводиться
если 3 то:
{'http':'15.15.15','http':'16.16.16','http':'14.14.14'}
если 4 то:
{'http':'15.15.15','http':'17.17.17''http':'16.16.16','http':'14.14.14'}
Хз, urllib.request.ProxyHandler не детектит так, выдает потом просто настоящий айпи
Ты понимаешь, что тот словарь, который ты просишь сделать НЕВОЗМОЖНО, в словарях ключи должны быть уникальны
Вот по твоему какой результат выполнения должен быть у словаря
a={'http':'15.15.15','http':'16.16.16','http':'14.14.14'}
при вызове a['http']
Как тебе дебилу еще донести, что питоновский словарь не может содержать одинаковые ключи? Если так тебя прет пиши свой UserDict.
Да я просто надеялся что так получиться(
Можно, почему нет? Только нужно определиться с поведением, как по ключу значение возвращать, например.
Допустим, есть несколько одинаковых ключей, при вызове нужно вывести все их значения списком
Как такое реализовать?
Создаешь свой класс словаря и списка наследуясь от классов в collections, в свой словарь помешаешь данные в виде ключ:твой_список(значение) и соответственно переопределяешь методы __getitem__ и __setitem__ чтобы они уже ходили в твой_список. Ну и разумеется остальные методы реализовать с учетом этого.
А ну и кастомный список нужен чтобы детектить случаи когда в словарь пытаются добавить 'key':[1,2,3] чтобы не получилось путаницы со списками.
Можно изначально создавать список, типа
d[1] = "a" => {1:["a"]}
А потом просто распаковать, тогда проблем не будет
Оверхед по памяти, в случае если большинство ключей имеют одно значение. Лучше создавать список если происходит дупликация ключей.
Не совсем понял, по моему проще для дублирующихся ключей возвращать list со всеми их значениями.
mydic['http'] -> ('0.0.0.0', '1.0.0.127', ...)
У Абизяны Абу сегодня первосентябрьское обострение?
Какая хуёвая актёрская игра. Ни на бабулю, ни на вёбмакаку не походит.
Шутка про малинку не раскрыта.
2/5
Пайтон-боги, последняя надежда на вас!
Есть сайт на ебучем aspx: http://bankrot.fedresurs.ru/Messages.aspx
Нужно спарсить сайт с помощью Selenium'а и я не могу, блять, тупо кликнуть на кнопку. Нужно парсить только "Сообщение о судебном акте", т.е. я открываю сайт (с помощью Селениума, разумеется), кликаю на "Тип сообщения", подгружается какой-то фрейм и я не могу, блять, обратиться к элементам внутри этого фрейма. То есть ни селениум, ни jquery (пытался обратиться к ним через консоль) не видны, хотя в коде они есть. Однако при некоторых действиях (я точно не понял каких именно, но например при клике на какую-нибудь раскрывающуюся кнопку) эти элементы становятся, блядь, видимыми. Т.е. только после того как вручную на что-нибудь внутри кликну -- всё нормально.
Пытался эмулировать Селениумом клик по координатам -- тоже нихуя не вышло. Анончики, помогите пожалуйста.
МММ-щики подрабатывают
>только после того как вручную на что-нибудь внутри кликну -- всё нормально
Так кликни селениумом, или не получается?
Почему парсишь селениумом? Почему не супом?
Джангисты, вечер в хату. У меня проект с двумя приложениями внутри. Модели обоих связаны друг с другом и как ForeignKey и ManyToMany. Проблема в том, что когда пытаюсь всё это мигрировать получаю CircularDependencyError. Как эту проблему обойти при миграции я знаю, нужно просто один раз закомментить ForeignKey и ManyToMany поля и мигрировать, а потом раскомментить и снова мигрировать.
Вопрос в другом. Что это вообще за CircularDependencyError, и почему она возникает? Гугл даёт только ссылки на прямое решение проблемы, но я хочу копнуть глубже.
Я так понял, что раз она появляется, значит я неправильно спроектировал базу данных для проекта? Что делать, чтобы она больше не возникала?
Попробуй слип поставить, после того как подгружаешь инфу.
Есть одна проблема.
Ты пишешь боту, он спрашивает как тебя зовут. Ты такой Вася.
Потом боту пишет другой человек и он такой привет Вася. Тоесть бот сохраняет свое состояние и пре переходе из одного состояния в диалоге а, он также меняет свое состояние в диалоге б. Как этого избежать?
Все еще надеюсь вкатиться джуном, лол. Вышка = 0
А я уже ковыряю год, но начал нормально только сейчас.
Написал говна на гитхабе, сейчас буду мерзкую джангу осваивать.
Говорят, сертификаты тащат.
Сап, питуны.
Подскажите годных текстов/видео, по которым можно познать ооп в питоне от азов до глубин
Dive into OOP
Корочка говно. Тупая трата времени.
Лучший вариант - попасть на очку с хорошим преподавательским составом. И не надо пиздать, что в ваших хуйрюписках такого не бывает. Вы ведь даже не пытались загуглить работы преподов.
Времени навалом останется, для работы хватит. Плюс социализация, плюс связи далеко не бесполезные.
> - 4 года жизни, + 4 года опыта, а не сычевание в вебмакаках в перемежку с прокрастинацией
Ты когда вышку заканчивал? Какой город? Много связей нашел? Чего узнал, что в интернетах нет?
> 4 года опыта, а не сычевание в вебмакаках в перемежку с прокрастинацией
Ты где в вузике опыт нашел то? Первые два курса это дрочь матана, а вторая половина это теория с практическими заданиями уровня сверстать страничку\laba4 на плюсах
Я вышку закончил в 2010.
Связей достаточно для того, чтобы при необходимости выйти на нужно узкого спеца, или, что ещё важнее, на управленца ответственного за конкретную инфраструктуру.
Узнал очень много о обработке сигналов, фильтрации, вчп, кодировании, симуляции сетей, распредвыче, теории игр, марковских цепях и прочих мелочах. Не считая практически опыт с линуксами, башами, питонами, ссайлабами, жипиэсэсом, латехом, нс-3 и прочими вещами. Многое из этого можно было бы и нагуглить, но зачем, если это можно получить из первых рук.
Ну вообще студентота - самое весёлое время.
>>1056133
>вторая половина это теория с практическими заданиями уровня сверстать страничку\laba4 на плюсах
Никогда не делал курсачи по вариантам: приносишь любую мало-мальски подходящую под тему шабашку, преподы только рады.
Правда, есть варианты сдавать экстерном, а также отказаться от предметов, которые ты уже проходил в другом вузе.
Если останутся только профильные предметы - это уже не так смертельно. Хотя смотря сколько тебе лет. Для школьника, который привык учиться и не знает куда пойти лишь бы не армию хотя это не так уж страшно - вернется более зрелым человеком и сможет поступить в вуз легче, не куда-нибудь, а зная куда и зачем - вариант стационарного обучения норм, а для человека 25+ с профессией уже трата лет своей жизни зря.
>из первых рук.
Не смеши. Ну матан еще туда-сюда, но латех и питон в мухосранском вузе из "первых рук"...
Я, конечно же, имел ввиду первую вышку. Зачем может понадобиться дополнительный корочки именно разработчика - даже представить не могу.
Для рабочей визы надо
Прикинь как классно будет, если юзер сможет выбирать - обычный интерфейс или вебинтерфейс, быстрая работа на компе или удаленная работа?
Ставлю джангу, создаю бд - еррар
Пробую намутить sqllite3 просто в питоне - еррар
Сам еррар: ImportError: DLL load failed: %1 не является приложением Win32
Это ошибка версии или я кривой? Питон 2 раза переустановил.
Быстрая на компе. Тогда у него возникнут "сложности выбора" лол. В будущем и веб сделал бы наверное. Вчера ковырял PyQt, разберусь думаю. Пока больше думаю как внешне все расставить, чем как это запустить. Хотя и запускается и работает все достаточно просто.
>Прикинь как классно будет, если юзер сможет выбирать - обычный интерфейс или вебинтерфейс
https://www.youtube.com/watch?v=RisCgSIWwLA
А нет, это просто я мудак. Ну в паре мест преобразовать пришлось, скобочки поставить еще, а так терпимо. Ладно будем пробовать.
Веб версию юзер может кастомизировать.
А я бы еще добавил CLI версию (сommand line interface).
Это пизда, товагищи.
P.s. Виснет на стадии импорта библиотек/модулей.
Пол года назад его последний раз трогал - все ок было.
На винде запустил - все ок.
На debian 9- ахтунг просто.
Есть же вроде какой-то предел и должно кидать эксепшен?
1) Другая версия Питона
2) Другие настройки системы
3) Используется другой софт или версии третьей стороны
12
34
56
78
89
Если можно, то обьясните ваш ответ в кратце
Функцию создай, которая хватает аргумент, переводит в string и добавляет на концах чего тебе надо. Или в чем вопрос?
Эм, нет, антош, объясняю же, что никак не реагирует система вообще ни на что.
p.s. и там всё сложнее немного, с паролем суперюзера чем просто ввод.
Что посоветуете для создания WEB-GUI? Есть какие-то либы/фреймвёки для такого или ручками генерировать html?
Django же для создания вебсайта просто? А к нему там плагины всякие... Ну не знаю, мне думалось запускать утилиту в режиме типа:
> consoleapp --webgui --port 8000
И чтобы она поднимала локальный сервер и взаимодействовала через него с пользователем. Это прямолинейное решение. И главное - само-в себе, то есть надежно, особенно, если сделать один монолитный .exe файл например.
А что даст запуск утилиты как plugin к Django, какие плюсы? Минус навреное в том, что нужно будетвозиться с настройкой вебсервера, и без этого вебинтерфейс работать не будет, но может и плюсы есть? В крайнем случае можно совместить подходы.
Спасибо за подсказку с websockets - это для обновления в реальном времени? На будущее пригодится.
Пока мне нужно просто передавать команды из браузера в программу (как параметры в консольных утилитах) и принимать назад из неё вывод данных (не знаю делать форматирование этих данных в самой программе или как-то на javascript это взвалить). Если есть что-то облегчающее эту работу (простейший вебинтерфейс) - было бы здорово.
>consoleapp --webgui --port 8000
python manage.py runserver
>А что даст запуск утилиты как plugin к Django, какие плюсы?
Полагаю ты не совсем понимаешь что такое Django.
В первом приближении без сокетов и с ожиданием stdout, можешь взять фласк, написать однин маршрут и одну форму на wtforms или даже чисто в шаблон ебнуть и не ебать мозгу.
Ну как локальный сервер запускать я знаю.
Мне нужны модули именно по взаимодействию программы с вебинтерфейсом и генерации этого вебинтерфейса (взамен Tk/Qt/etc окошек). Пока такой простой случай, то есть вместо обычных окошек - консольная утилита + веб-замена окошек.
Думаю, что такое уже написано во многих версиях. Поэтому хочу узнать хотя бы один модуль для этого, чтобы не писать самому.
МНе не просто какую-то веб-форму ввести, как в CMS-ках, а что-то вроде замены диалогов, таблиц и т.п. всё что позволяют нативные GUI окошки и ещё делать кастомный вывод в вебраузер но это уже я и сам могу генерировать
Можно ли все-таки как-то программу, написанную на python автоматически сконвертировать в быструю сишечку?
Совместим ли модуль Sci-0.16.1 для python 3.4 c python 3.6.2?
Конечно можно, просто все тупые и не додумались так делать, а сидят мучаются с тормозным интерпретатором.
Как можно вставить в input значение текстовое из другого инпута. То есть
input('Как тебя зовут')
input('Привет, "имя", сколько тебе лет?')
pycharm ругается
второй инпут тоже переменной должен быть. На выходе получилось: Привет,"а"сколько тебе лет.
Если знаешь основы - гугл -> winapi documentation -> всю хуйню жуешь по очереди
Чуваки, кто работал с subprocess.popen на маках из app? Такой вопрос, не видит доступных shell-команд, ввожу в нём dmidecode (проверил, он стоит, есть и в libraries самой app и даже уже в саму среду поставил из brew, то есть из консолечки ручками запускается нормально), так он отдаёт, что нет такой команды. shell=True стоит
Питон 3.6.2. Пишу: "3.999(10*2)", а на экран выводит "399.90000000000003". Почему?
Потому что так работает плавающая арифметика, даун
Это копия, сохраненная 22 сентября 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.