from multiprocessing import Pool
def concatenate(video1: str, video2: str, output: str) -> bool:
"""Склеивает два видео и пишет результат в файл output.
Не стоит использовать глобальные объекты.
Стоит принимать как параметры и возвращать только базовые типы данных
(булевы, числа, строки, кортежи, списки, словари)."""
... # верни True при успехе, False при неудаче. Лови все исключения.
if __name__ == '__main__':
videos_to_process = [ # этот список формируешь по своей логике.
('18_05_video1.avi', '18_05_video2.avi', r'output\18_05.avi'), # порядок как у аргументов concatenate()
('17_05_video1.avi', '17_05_video2.avi', r'output\17_05.avi'),
]
with Pool() as pool: # по умолчанию пул создаст по одному процессу на ядро
results = pool.starmap(concatenate, videos_to_process)
if not all(results): # хотя одна функция вернула False?
for (v1, v2, vr), success in zip(videos_to_process, results):
if not success: # выясняем, которая
print(f'Video merge failed: {v1} + {v2} -> {vr}')
else:
print('All videos merged successfully.')
bot={ # <<< bot?
"yes": "Да",
"no": "Нет"}
dt_string = now.strftime("%d/%m/%Y %H:%M:%S") # метка времени вида дд/мм/гггг чч:мм:сс
if (dt_string == "19:04:00") and x == 6: # ВНЕЗАПНО метка времени вида чч:мм:сс, дата куда-то пропала
for
, а через async for
. Тащем-та, в документации по ссылке и пример есть, как это делается. ModuleNotFoundError: No module named 'urllib3.contrib.appengine'
import requests
- отработает или нет?pip install requests==x.yy.zz
. Список версий можно посмотреть на pypi. def __str__(self):
return '[' + (', '.join(str(card) for card in self.mydeck)) + ']'
class filter(object):
import names
names.name1 = 'Абдурахман ибн Хоттаб'
# names.json
["Дима", "Маша", "Елена"]
# main.py
import json # чтобы легко и удобно сохранять структуры данных в файл
import sys # чтобы узнать, где лежит main.py, и сохранить рядом
from pathlib import Path # чтобы работать с путями к файлам
MAIN_PY = Path(sys.argv[0]) # путь до main.py
MAIN_DIR = MAIN_PY.parent.resolve() # путь до папки, где лежит main.py
CFG = MAIN_DIR / 'names.json' # путь до файла, куда сохраняем данные
with CFG.open('rt', encoding='utf-8') as cfg: # открываем на чтение
names = json.load(cfg) # читаем всё содержимое файла
# пользуемся полученными данными - списком имён
print(names)
names[0] = "Абдурахман ибн Хоттаб"
# сохраняем список обратно
with CFG.open('wt', encoding='utf-8') as cfg: # открываем на запись
json.dump( # пишем всё содержимое списка в файл
names, # что будет содержимым файла
cfg, # в какой файл записать
ensure_ascii=False, # чтобы не заменял кириллицу на коды символов
indent=2, # чтобы были красивые отступы. Если убрать, файл будет весь в одну строку.
)