#python python... PYTHON 🔛 🚀
https://github.com/evhub/coconut/blob/master/tests/main_test.py#L140
def rm_path(path):
"""Delete a path."""
if os.path.isdir(path):
shutil.rmtree(path)
elif os.path.isfile(path):
os.remove(path)
def call_python(args, kwargs):
"""Calls the current Python."""
call([sys.executable] + args, kwargs)
@contextmanager
def using_path(path):
"""Removes a path at the beginning and end."""
if os.path.exists(path):
rm_path(path)
try:
yield
finally:
try:
rm_path(path)
except OSError:
logger.display_exc()
@contextmanager
def using_dest():
"""Makes and removes the dest folder."""
try:
os.mkdir(dest)
except Exception:
shutil.rmtree(dest)
os.mkdir(dest)
try:
yield
finally:
try:
rm_path(dest)
except OSError:
logger.display_exc()
@contextmanager
def using_logger():
"""Use a temporary logger, then restore the old logger."""
saved_logger = Logger(logger)
try:
yield
finally:
logger.copy_from(saved_logger)
from coconut.terminal import logger, Logger
def test_pyston(self):
with using_path(pyston):
comp_pyston(["--no-tco"])
if PY2 and PYPY:
run_pyston()
"""Delete a path."""
if os.path.isdir(path):
shutil.rmtree(path)
elif os.path.isfile(path):
os.remove(path)
def call_python(args, kwargs):
"""Calls the current Python."""
call([sys.executable] + args, kwargs)
@contextmanager
def using_path(path):
"""Removes a path at the beginning and end."""
if os.path.exists(path):
rm_path(path)
try:
yield
finally:
try:
rm_path(path)
except OSError:
logger.display_exc()
@contextmanager
def using_dest():
"""Makes and removes the dest folder."""
try:
os.mkdir(dest)
except Exception:
shutil.rmtree(dest)
os.mkdir(dest)
try:
yield
finally:
try:
rm_path(dest)
except OSError:
logger.display_exc()
@contextmanager
def using_logger():
"""Use a temporary logger, then restore the old logger."""
saved_logger = Logger(logger)
try:
yield
finally:
logger.copy_from(saved_logger)
from coconut.terminal import logger, Logger
def test_pyston(self):
with using_path(pyston):
comp_pyston(["--no-tco"])
if PY2 and PYPY:
run_pyston()
#python python... PYTHON 🔛 🚀
https://github.com/evhub/coconut/blob/master/tests/main_test.py#L140
def is_hashable(obj):
"""Determine if obj is hashable."""
try:
hash(obj)
except Exception:
return False
else:
return True
def assert_hashable_or_dict(name, obj):
"""Assert obj is hashable, or for dicts apply recursively to values."""
if isinstance(obj, dict):
for val in obj.values():
assert_hashable_or_dict(name, val)
else:
assert is_hashable(obj), "Constant " + name + " contains unhashable values"
def is_importable(name):
"""Determine if name can be imported."""
try:
import_module(name)
except ImportError:
return False
else:
return True
"""Determine if obj is hashable."""
try:
hash(obj)
except Exception:
return False
else:
return True
def assert_hashable_or_dict(name, obj):
"""Assert obj is hashable, or for dicts apply recursively to values."""
if isinstance(obj, dict):
for val in obj.values():
assert_hashable_or_dict(name, val)
else:
assert is_hashable(obj), "Constant " + name + " contains unhashable values"
def is_importable(name):
"""Determine if name can be imported."""
try:
import_module(name)
except ImportError:
return False
else:
return True
Look what I shared: coconut/exceptions.py at master · evhub/coconut · GitHub @MIUI| https://github.com/evhub/coconut/blob/master/coconut/exceptions.py
GitHub
evhub/coconut
Simple, elegant, Pythonic functional programming. Contribute to evhub/coconut development by creating an account on GitHub.
#python python... PYTHON 🔛 🚀
Look what I shared: coconut/exceptions.py at master · evhub/coconut · GitHub @MIUI| https://github.com/evhub/coconut/blob/master/coconut/exceptions.py
#from https://github.com/evhub/coconut/blob/master/coconut/command/util.py
def writefile(openedfile, newcontents):
"""Set the contents of a file."""
openedfile.seek(0)
openedfile.truncate()
openedfile.write(newcontents)
def readfile(openedfile):
"""Read the contents of a file."""
openedfile.seek(0)
return str(openedfile.read())
def writefile(openedfile, newcontents):
"""Set the contents of a file."""
openedfile.seek(0)
openedfile.truncate()
openedfile.write(newcontents)
def readfile(openedfile):
"""Read the contents of a file."""
openedfile.seek(0)
return str(openedfile.read())
GitHub
evhub/coconut
Simple, elegant, Pythonic functional programming. Contribute to evhub/coconut development by creating an account on GitHub.
Forwarded from Библиотека питониста | Python, Django, Flask
Using RoboBrowser to Login and Extract Data
В данном видео автор использует RoboBrowser, модуль Python-3 и инструмент для веб-автоматизации.
RoboBrowser - это библиотека Pythonic для автоматического просмотра веб-страниц и обработки форм. Он построен поверх запросов и библиотек BeautifulSoup. Напишем скрипт, который автоматически регистрируется в веб-форме и извлекает информацию после входа в систему.
#видеодня
https://www.youtube.com/watch?v=hrdDIrT9kJI
В данном видео автор использует RoboBrowser, модуль Python-3 и инструмент для веб-автоматизации.
RoboBrowser - это библиотека Pythonic для автоматического просмотра веб-страниц и обработки форм. Он построен поверх запросов и библиотек BeautifulSoup. Напишем скрипт, который автоматически регистрируется в веб-форме и извлекает информацию после входа в систему.
#видеодня
https://www.youtube.com/watch?v=hrdDIrT9kJI
YouTube
Using RoboBrowser to Login and Extract Data
In this video, we make use of RoboBrowser, a Python-3 module, and web automation tool. We write a quick script that automatically logs into a web form and extracts information on a page, once logged in.
This video is part of a larger series on "Web Scraping…
This video is part of a larger series on "Web Scraping…
Forwarded from Библиотека питониста | Python, Django, Flask
Forwarded from Библиотека питониста | Python, Django, Flask
Python Unit Test Automation
Автор: Ashwin Pajankar
В настоящем руководстве вы познакомитесь с юнит-тестированием для проектов на языке программирования Python на примере таких библиотек, как doctest, unittest, nose, nose2 и pytest
#книгадня
https://t.me/progbook/3696
Автор: Ashwin Pajankar
В настоящем руководстве вы познакомитесь с юнит-тестированием для проектов на языке программирования Python на примере таких библиотек, как doctest, unittest, nose, nose2 и pytest
#книгадня
https://t.me/progbook/3696
Forwarded from Библиотека питониста | Python, Django, Flask
Объёмная статья о правильном тестировании проектов.
https://salmonmode.github.io/2019/03/29/building-good-tests.html
https://salmonmode.github.io/2019/03/29/building-good-tests.html
Chris NeJame
Building Good Tests
A collection of testing maxims, tips, and gotchas, with a few pytest-specific notes. Things to do and not to do when it comes to writing automated tests.
Forwarded from Библиотека питониста | Python, Django, Flask
Python for DevOps: Learn Ruthlessly Effective Automation (2019)
Многие технологии за последние десять лет очень сильно изменились. Python стал одним из самых популярных языков в мире. Эта книга демонстрирует, как использовать Python для повседневных задач системного администрирования Linux с помощью самых полезных инструментов DevOps, в том числе Docker, Kubernetes и Terraform.
Скачать книгу
Многие технологии за последние десять лет очень сильно изменились. Python стал одним из самых популярных языков в мире. Эта книга демонстрирует, как использовать Python для повседневных задач системного администрирования Linux с помощью самых полезных инструментов DevOps, в том числе Docker, Kubernetes и Terraform.
Скачать книгу
Telegram
Книги для программистов (reserved)
Python for DevOps: Learn Ruthlessly Effective Automation (2019)
Авторы: Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
Авторы: Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
Forwarded from Библиотека питониста | Python, Django, Flask
В статье автор показывает, как можно оптимизировать некоторые задачи в Excel с помощью Python.
https://proglib.io/w/dad84152
https://proglib.io/w/dad84152
Medium
Automate These 3 (Boring!!) Excel Tasks with Python!
No More Opening Hundreds of Excel Files
Forwarded from Библиотека питониста | Python, Django, Flask
Python Automation Cookbook (2020)
Автор: Jaime Buelta
В этой обновленной и расширенной версии Python Automation Cookbook каждая глава теперь содержит новейшие рецепты и пересмотрена для соответствия Python 3.8 и выше. Книга содержит три новые главы, посвященные использованию Python для автоматизации тестирования, проектов машинного обучения и работы со сложными для анализа данных. Это издание позволит вам получить четкое представление об основных принципах, необходимых для автоматизации бизнес-процессов с помощью реальных задач, таких как разработка вашего первого web scraping приложения и анализ информации для создания отчетов в виде таблиц с графиками.
Скачать книгу
Автор: Jaime Buelta
В этой обновленной и расширенной версии Python Automation Cookbook каждая глава теперь содержит новейшие рецепты и пересмотрена для соответствия Python 3.8 и выше. Книга содержит три новые главы, посвященные использованию Python для автоматизации тестирования, проектов машинного обучения и работы со сложными для анализа данных. Это издание позволит вам получить четкое представление об основных принципах, необходимых для автоматизации бизнес-процессов с помощью реальных задач, таких как разработка вашего первого web scraping приложения и анализ информации для создания отчетов в виде таблиц с графиками.
Скачать книгу
Telegram
Книги для программистов (reserved)
Python Automation Cookbook (2020)
Автор: Jaime Buelta
Автор: Jaime Buelta
Forwarded from Библиотека питониста | Python, Django, Flask
Статья об инструментах и методах автоматизированного тестирования, которые можно использовать при создании приложения на Django. Вы также увидите некоторые распространенные приемы, которые можно применять в каждом проекте.
https://proglib.io/w/77492010
https://proglib.io/w/77492010
Matt Layman
Django Testing Toolbox
In this article, I cover the tools that I reach for to do automated testing when building a Django application. You will also see some common techniques that I apply to every project.
Forwarded from Библиотека питониста | Python, Django, Flask
Automate the boring stuff with Python (2019)
Автор: Al Sweigart
Автор показывает, как писать программы, которые могут сделать за вас рутинную работу. Книга поможет новичкам разобраться в программировании на Python и сразу применить свои знания. Данное издание этой книги включает новую главу о проверке входных данных, а также учебные пособия по автоматизации Gmail и Google Sheets и советы по автоматическому обновлению файлов CSV.
Скачать книгу
Автор: Al Sweigart
Автор показывает, как писать программы, которые могут сделать за вас рутинную работу. Книга поможет новичкам разобраться в программировании на Python и сразу применить свои знания. Данное издание этой книги включает новую главу о проверке входных данных, а также учебные пособия по автоматизации Gmail и Google Sheets и советы по автоматическому обновлению файлов CSV.
Скачать книгу
Telegram
Книги для программистов (reserved)
Automate the boring stuff with Python (2019)
Автор: Al Sweigart
Автор: Al Sweigart
Forwarded from MoscowPython Conf Channel
Когда в язык программирования включают асинхронные функции, он по сути раскалывается на два подмножества: синхронное и асинхронное.
Python 3.5 вышел больше пяти лет назад, но async все еще поддерживается не так уж хорошо. А всё могло бы быть иначе…
Как решить проблему цветов функций и поддерживать и синхронные, и асинхронные приложения одновременно, читайте в статье руководителя программного комитета Russian Python Week Никиты Соболева.
Python 3.5 вышел больше пяти лет назад, но async все еще поддерживается не так уж хорошо. А всё могло бы быть иначе…
Как решить проблему цветов функций и поддерживать и синхронные, и асинхронные приложения одновременно, читайте в статье руководителя программного комитета Russian Python Week Никиты Соболева.
Хабр
Какая асинхронность должна была бы быть в Python
В последние несколько лет ключевое слово async и семантика асинхронного программирования проникла во многие популярные языки программирования: JavaScript, Rust,...
Forwarded from Python Lounge: работа и стажировки для программистов
Интересуешься разработкой? Создай собственный продукт на Python! Ждём тебя 3–5 августа на онлайн-интенсиве по программированию от технического директора в Lia.
Успей на бесплатную регистрацию: ▶️ https://clc.to/GrR1_A
✔️ Изучи основы Python — популярного языка программирования.
✔️ Разработай сервер для прослушивания подключений.
✔️ Научись программировать клиентскую часть для подключения и передачи сообщений.
✔️ Поработай с библиотеками PyQT, Kivy, wxWidgets, Tkinter.
✔️ Пообщайся с опытным разработчиком и задай любые вопросы.
🎉 Все участники, прошедшие интенсив до конца, получат в подарок электронную книгу Кея Петерсона и Дэвида Колба «Век живи — век учись» от издательства «МИФ», а авторы трёх лучших проектов — сертификаты по 30 000 рублей на любой из курсов Skillbox.
Успей на бесплатную регистрацию: ▶️ https://clc.to/GrR1_A
✔️ Изучи основы Python — популярного языка программирования.
✔️ Разработай сервер для прослушивания подключений.
✔️ Научись программировать клиентскую часть для подключения и передачи сообщений.
✔️ Поработай с библиотеками PyQT, Kivy, wxWidgets, Tkinter.
✔️ Пообщайся с опытным разработчиком и задай любые вопросы.
🎉 Все участники, прошедшие интенсив до конца, получат в подарок электронную книгу Кея Петерсона и Дэвида Колба «Век живи — век учись» от издательства «МИФ», а авторы трёх лучших проектов — сертификаты по 30 000 рублей на любой из курсов Skillbox.
Forwarded from Python Lounge: работа и стажировки для программистов
Паттерн проектирования Singleton
Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр.
Итак, нам требуется такой класс, который будет при вызове возвращать один и тот же экземпляр, поэтому нам придется переопределить магический метод new.
new__(cls, *args, **kwargs) –– вызывается для создания экземпляра класса, перед вызовом __init. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса).
То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти.
Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр.
Итак, нам требуется такой класс, который будет при вызове возвращать один и тот же экземпляр, поэтому нам придется переопределить магический метод new.
new__(cls, *args, **kwargs) –– вызывается для создания экземпляра класса, перед вызовом __init. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса).
class Singleton:
instance = None
def __new__(cls):
if cls.instance is None:
cls.instance = super().__new__(cls)
return cls.instance
Здесь мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если уже экземпляр создан, то просто его возвращаем.То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти.
a = Singleton()
b = Singleton()
Создали два экземпляра, теперь убедимся, что они содержат одинаковый объект. print(a is b) # True
Forwarded from HABR FEED + OPENNET
[Перевод] Как переписать SQL-запросы на Python с помощью Pandas
https://habr.com/ru/post/513316/?utm_source=habrahabr&utm_medium=rss&utm_campaign=513316
Tags: Блог компании Plarium, Python, SQL, python, sql, pandas, советы начинающим, dataset
Author Plarium #habr
https://habr.com/ru/post/513316/?utm_source=habrahabr&utm_medium=rss&utm_campaign=513316
Tags: Блог компании Plarium, Python, SQL, python, sql, pandas, советы начинающим, dataset
Author Plarium #habr
Хабр
Как переписать SQL-запросы на Python с помощью Pandas
В этой статье June Tao Ching рассказал, как с помощью Pandas добиться на Python такого же результата, как в SQL-запросах. Перед вами — перевод, а оригинал вы можете найти в блоге...