Библиотека newspaper3k
Часто приходится парсить статьи? Первое, что приходит на ум, — BeautifulSoup, но newspaper3k дает огромное преимущество.
Он даёт возможность извлекать статьи и связанные с ней мета-данные. То есть, ты можешь получить html-код, авторов и текст статьи. И не придется самому распарсивать статью.
Библиотеку необходимо установить:
pip install newspaper3k
Часто приходится парсить статьи? Первое, что приходит на ум, — BeautifulSoup, но newspaper3k дает огромное преимущество.
Он даёт возможность извлекать статьи и связанные с ней мета-данные. То есть, ты можешь получить html-код, авторов и текст статьи. И не придется самому распарсивать статью.
Библиотеку необходимо установить:
pip install newspaper3k
Базы Данных
Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.
Самая популярная База Данных - текстовый файл с записанными значениями. И правда очень удобно. Достаточно открыть файл и прочитать, что там лежит, особенно, если мы знаем какая строка сему соответствует.
Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.
Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.
Самая популярная База Данных - текстовый файл с записанными значениями. И правда очень удобно. Достаточно открыть файл и прочитать, что там лежит, особенно, если мы знаем какая строка сему соответствует.
Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.
Базы Данных (CSV)
Безусловно прошлый способ с данными в txt файле действенный, но им никто не пользуется. Обычно использую более проlвинутые БД с использованием SQL.
Вот только иногда с txt работать намного проще, а возможно и быстрее. В таком случае рекомендуем использовать формат CSV. Хороший пример - таблица из значений температуры по дням (в выходные наблюдение не велось):
Data;Monday;Tuesday;Wednesday;Wednesday;Friday
1;1.7;2.8;14;16.9;5.0
Еще можно к примеру хранить местоположение объектов, для работы с CSV есть специальный модуль, который так и называется csv. На картинке предоставлен вывод. Сохранение файла делается почти так же, как и у списков. Подробнее в следующем посте.
Безусловно прошлый способ с данными в txt файле действенный, но им никто не пользуется. Обычно использую более проlвинутые БД с использованием SQL.
Вот только иногда с txt работать намного проще, а возможно и быстрее. В таком случае рекомендуем использовать формат CSV. Хороший пример - таблица из значений температуры по дням (в выходные наблюдение не велось):
Data;Monday;Tuesday;Wednesday;Wednesday;Friday
1;1.7;2.8;14;16.9;5.0
Еще можно к примеру хранить местоположение объектов, для работы с CSV есть специальный модуль, который так и называется csv. На картинке предоставлен вывод. Сохранение файла делается почти так же, как и у списков. Подробнее в следующем посте.
Tiny Python Projects (2020)
Автор: Ken Youens-Clark
Количество страниц: 440
Данная книга сделает вас из любителя профессионалом Python, поскольку, работая с ней, вы создадите 22 программы размерами в несколько байтов. Каждый новый маленький проект научит вас новой концепции программирования, от основ списков и строк до регулярных выражений и случайных величин.
Скачать книгу
Автор: Ken Youens-Clark
Количество страниц: 440
Данная книга сделает вас из любителя профессионалом Python, поскольку, работая с ней, вы создадите 22 программы размерами в несколько байтов. Каждый новый маленький проект научит вас новой концепции программирования, от основ списков и строк до регулярных выражений и случайных величин.
Скачать книгу
Telegram
Книги для программистов (reserved)
Tiny Python Projects (2020)
Автор: Ken Youens-Clark
Автор: Ken Youens-Clark
Прочитать произвольную строку из файла
Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети.
И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt:
Приветствую!
Здравствуйте!
Ку, здарова.
Добрый день!
Привет!
Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально.
Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети.
И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt:
Приветствую!
Здравствуйте!
Ку, здарова.
Добрый день!
Привет!
Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально.
👍1
full-stack-fastapi-postgresql: фулл стек, современный генератор веб-приложений.
https://proglib.io/w/1e89bcf1
https://proglib.io/w/1e89bcf1
GitHub
GitHub - tiangolo/full-stack-fastapi-postgresql: Full stack, modern web application generator. Using FastAPI, PostgreSQL as database…
Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more. - GitHub - tiangolo/full-stack-fastapi-postgresql: Full stack, modern web appl...
Заглушки
Для создания пустых функций и классов есть сразу два способа соответствующих правилам PEP: "pass" и "...". Предпочтительнее использовать первый вариант. Он означает буквальным счетом пустоту, даже применить функции dir() или help() не получится. А вот три точки - объект.
Их применение более широкое. Мы видели точки, когда выводили бесконечный список. Но то, был просто вывод, а не наш объект. Ellipsis применяется так же для создания пустых списков. Он показывает, что внутри не что-то одно, а много. На практике его используют лишь в документации и при создании все тех же пустых функций.
На картинке пример программы проверяющий пароль от юзера. Сохранение в БД мы еще не решили как писать, поэтому просто создали заглушку.
Для создания пустых функций и классов есть сразу два способа соответствующих правилам PEP: "pass" и "...". Предпочтительнее использовать первый вариант. Он означает буквальным счетом пустоту, даже применить функции dir() или help() не получится. А вот три точки - объект.
Их применение более широкое. Мы видели точки, когда выводили бесконечный список. Но то, был просто вывод, а не наш объект. Ellipsis применяется так же для создания пустых списков. Он показывает, что внутри не что-то одно, а много. На практике его используют лишь в документации и при создании все тех же пустых функций.
На картинке пример программы проверяющий пароль от юзера. Сохранение в БД мы еще не решили как писать, поэтому просто создали заглушку.
Анонимные функции
Часто функции нужны только один раз, причем короткие. И избыточно создавать под них функцию и придумывать ей имя.
Для таких случаев существуют лямбда функции, так выглядит их создание:
Такие функции обязан знать каждый программист, их применение сильно сокращает код.
Часто функции нужны только один раз, причем короткие. И избыточно создавать под них функцию и придумывать ей имя.
Для таких случаев существуют лямбда функции, так выглядит их создание:
<аргументы>: <выражение>
Такие функции обязан знать каждый программист, их применение сильно сокращает код.
Модуль zipfile
Как говорилось ранее с zip может работать модуль shutil, но zipfile более многофункционален. С другой стороны он не так универсален и работает только с зипами. За все надо платить, не существует идеального способа для всего.
Для начала надо из zipfile импортировать ZipFile. И открыть файл ZipFile(file).
printdir() - вывод списка содержимого текстом для печати.
namelist() - вывод списка фалов списком.
open() - открыть файл внутри архива, далее работа проходит аналогично работе фалов.
Для практики на картинке показана программа выводящая красивый вложенный список файлов находящихся в архиве.
Больше возможностей можно узнать через help() или документацию.
Как говорилось ранее с zip может работать модуль shutil, но zipfile более многофункционален. С другой стороны он не так универсален и работает только с зипами. За все надо платить, не существует идеального способа для всего.
Для начала надо из zipfile импортировать ZipFile. И открыть файл ZipFile(file).
printdir() - вывод списка содержимого текстом для печати.
namelist() - вывод списка фалов списком.
open() - открыть файл внутри архива, далее работа проходит аналогично работе фалов.
Для практики на картинке показана программа выводящая красивый вложенный список файлов находящихся в архиве.
Больше возможностей можно узнать через help() или документацию.
Всем привет!
Мы сделали сервис, который отбирает вакансии по вашим интересам.
Настройте личные фильтры: локация, точный технологический стек, и, конечно, не забудьте о деньгах.
Все самые подходящие предложения рынка – в @GetMeIT_bot
Мы сделали сервис, который отбирает вакансии по вашим интересам.
Настройте личные фильтры: локация, точный технологический стек, и, конечно, не забудьте о деньгах.
Все самые подходящие предложения рынка – в @GetMeIT_bot
🐍 Python для автоматизации тестирования: создаем несложный REST-тест за 4 шага
Python для инженера по Quality Assurance – универсальный «швейцарский нож», которым легко воспользоваться. Рассказываем, как создать автотест за 4 простых шага.
https://proglib.io/sh/Yir1Bjtduy
Python для инженера по Quality Assurance – универсальный «швейцарский нож», которым легко воспользоваться. Рассказываем, как создать автотест за 4 простых шага.
https://proglib.io/sh/Yir1Bjtduy
Forwarded from Python jobs — вакансии по питону, Django, Flask
#вакансия #работа #job #Петербург #backend #Python #офис #частичнаяудаленка
Python разработчик (Команда биллинга)
Компания: Selectel
Заработная плата: от 140 000 руб. на руки
Занятость: полная
Формат: офис, возможна частичная удаленка
Проект: Команда биллинга занимается разработкой сервисов учета средств и услуг всех продуктов компании.
Основные задачи: от простого написания API до построения сложных ресурсоёмких отчетов с большим количеством данных и сложной бизнес-логикой.
Стек: Python от 3, Flask, REST, Git, MySQL/PostgreSQL, Linux, RabbitMQ, Celery/Dramatique, SQLAlchemy, будет плюсом знание Go.
Почему Selectel:
• Белая зарплата, официальное оформление
• Годовая премия по результатам работы
• Бесплатные обеды, ДМС + стоматология, 50% оплата абонемента в фитнес-клуб, ежемесячная надбавка за некурение, регулярные спортивные мероприятия (турниры по пейнтболу, картингу, «Гонка героев», киберспорт, футбол, волейбол, баскетбол)
• Возможность участия в конференциях, полный доступ в онлайн-библиотеку, корпоративный английский и испанский
• Гибкое начало рабочего дня (до 12:00)
• Офис в 10 мин. пешком от ст. м. Московские ворота, своя авто- и велопарковка
Подробное описание вакансии тут
Присылайте резюме на @ev_molchanova или molchanova.e@selectel.ru
Python разработчик (Команда биллинга)
Компания: Selectel
Заработная плата: от 140 000 руб. на руки
Занятость: полная
Формат: офис, возможна частичная удаленка
Проект: Команда биллинга занимается разработкой сервисов учета средств и услуг всех продуктов компании.
Основные задачи: от простого написания API до построения сложных ресурсоёмких отчетов с большим количеством данных и сложной бизнес-логикой.
Стек: Python от 3, Flask, REST, Git, MySQL/PostgreSQL, Linux, RabbitMQ, Celery/Dramatique, SQLAlchemy, будет плюсом знание Go.
Почему Selectel:
• Белая зарплата, официальное оформление
• Годовая премия по результатам работы
• Бесплатные обеды, ДМС + стоматология, 50% оплата абонемента в фитнес-клуб, ежемесячная надбавка за некурение, регулярные спортивные мероприятия (турниры по пейнтболу, картингу, «Гонка героев», киберспорт, футбол, волейбол, баскетбол)
• Возможность участия в конференциях, полный доступ в онлайн-библиотеку, корпоративный английский и испанский
• Гибкое начало рабочего дня (до 12:00)
• Офис в 10 мин. пешком от ст. м. Московские ворота, своя авто- и велопарковка
Подробное описание вакансии тут
Присылайте резюме на @ev_molchanova или molchanova.e@selectel.ru
selectel.ru
Selectel — IT-инфраструктура для бизнеса
Selectel предлагает комплексные IaaS и PaaS-решения для разных категорий бизнеса: от индивидуальных предпринимателей до крупных корпораций. Аренда IT-инфраструктуры в дата-центрах Москвы и Петербурга
Essential Python for the Physicist (2020)
Автор: Giovanni Moruzzi
Количество страниц: 434
Эта книга знакомит читателя с небольшим опытом программирования или вообще без него с языком Python, который пригодится физикам и многим из тех, кто изучает естественные науки. Книга начинается с базового интерактивного Python для ознакомления с языком, далее изучаются простые скрипты. Все коды программ подробно обсуждаются, и читателю предлагается поэкспериментировать, что произойдет, если некоторые строки кода будут изменены.
Скачать книгу
Автор: Giovanni Moruzzi
Количество страниц: 434
Эта книга знакомит читателя с небольшим опытом программирования или вообще без него с языком Python, который пригодится физикам и многим из тех, кто изучает естественные науки. Книга начинается с базового интерактивного Python для ознакомления с языком, далее изучаются простые скрипты. Все коды программ подробно обсуждаются, и читателю предлагается поэкспериментировать, что произойдет, если некоторые строки кода будут изменены.
Скачать книгу
Библиотека Numpy
Сегодня коснемся важной темы -- срезов. Эта штука просто необходимый инструмент для обработки данных.
Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!
Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.
Сегодня коснемся важной темы -- срезов. Эта штука просто необходимый инструмент для обработки данных.
Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!
Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.