from enum import Enum, auto
class Color(Enum):
RED = auto()
BLUE = auto()
GREEN = auto()
list(Color) # [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]
35 записей с тегом "python"
Посмотреть все тегиPython: Установить рабочую директорию (working dir)
import os
import sys
os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
Python: Импорт случайного модуля из списка
def run_random_module(modules):
module_name = random.choice(modules)
__import__(module_name)
Python: glob() по списку путей
def cool_glob(dir_list, patterns_list, recursive=False):
output = []
template = '**/{pattern}' if recursive else '{pattern}'
for dir_name in list(set(dir_list)):
for pattern in list(set(patterns_list)):
output.extend(list(pathlib.Path(dir_name).glob(template.format(pattern=pattern))))
return output
res = cool_glob(
[r'K:\_SYNTHWAVE\music\cover', r'K:\_CLIPARTS\Космос'],
['*.png', '*.jpg', '*.gif', '*.jpeg'],
True
)
print(res)
Python: Как узнать размер файла?
Этот код использует модуль os.path из стандартной библиотеки языка Python для получения размера файла.
os.path.getsize("/path/isa_005.mp3")
Python: Использование map() для преобразования списка
Код преобразовывает каждое значение расстояния в милях в эквивалентное значение в километрах и сохраняет их в новом списке kilometer_distances.
mile_distances = [1.0, 6.5, 17.4, 2.4, 9]
kilometer_distances = list(map(lambda x: x * 1.6, mile_distances))
print (kilometer_distances)
# [1.6, 10.4, 27.84, 3.84, 14.4]
Python: Скачать и сохранить бинарный файл
# Binary request and save
# Request the profile picture of the OP:
response = requests.get("https://i.stack.imgur.com/iysmF.jpg?s=32&g=1")
with open("response.jpg", "wb") as f:
f.write(response.content)
Python: Одноразовая переменная
В Python переменные, состоящие только из одного знака подчеркивания (_), имеют специальное назначение. Вот несколько случаев, в которых они используются:
Python: Использование строчного Enum
# A better practice is to inherit Signal from str:
class Signal(str, Enum):
red = 'red'
green = 'green'
orange = 'orange'
brain_detected_colour = 'red'
brain_detected_colour == Signal.red # direct comparison
Python: Текст по центру холста (Cairo)
context.select_font_face("Sans", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL)
context.set_font_size(52.0)
(x, y, width, height, dx, dy) = context.text_extents("Hello")
context.move_to(WIDTH/2. - width/2., HEIGHT/2. + height/2.)
context.show_text("Hello")
Указанный код рисует текст "Hello" по центру холста, выравнивая его горизонтально и вертикально с использованием информации о геометрии текста (width, height, dx, dy), полученной из text_extents.