sudo touch /etc/systemd/system/bot.service
[Unit]
Description=My bot
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python /путь/до/скрипта/bot.py
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable bot.service
sudo systemctl start bot.service
sudo systemctl stop bot.service
sudo systemctl disable bot.service
sudo systemctl status bot.service
const units = [
[ 'де?н', 24 * 60 * 60 ],
[ 'час', 60 * 60 ],
[ 'мин', 60 ],
[ 'сек', 1 ],
].map(n => [ RegExp(`\\d+(?=\\s+${n[0]})`), n[1] ]);
const getSeconds = str =>
units.reduce((acc, n) => acc + n[0].exec(str) * n[1], 0);
getSeconds('2 часа 22 секунды') // 7222
getSeconds('99 минут') // 5940
getSeconds('1 час 1 минута 1 секунда') // 3661
getSeconds('1 день 23 часа 59 минут 60 секунд') // 172800
getSeconds('2 дня') // 172800
getSeconds('546 секунд и ещё 2 минуты') // 666
RegExp(`\\d+(?=\\s+${n[0]})`, 'g')
, а функция подсчёта секунд примет следующий вид:const getSeconds = str =>
units.reduce((seconds, [ reg, multiplier ]) => {
return [...str.matchAll(reg)].reduce((acc, n) => acc + n * multiplier, seconds);
}, 0);
// или
const getSeconds = str => units
.flatMap(n => (str.match(n[0]) ?? []).map(m => m * n[1]))
.reduce((acc, n) => acc + n, 0);
// или
const getSeconds = str => eval(units
.map(n => `${n[1]} * (${str.match(n[0])?.join('+') ?? 0})`)
.join('+')
);
getSeconds('1 секунда плюс 3 секунды плюс 5 секунд') // 9
getSeconds('21 день, 7 дней, да ещё 3 дня - всего секунд в мае месяце будет') // 2678400
Что делать если про скачивании aiogram, выходить данная команда?
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-buil...
Суть в том, чтобы открывать файл нажатием на него, а не выбором в приложении. (Как при открытии тех же .docx и .txt файлов, но с собственным расширением)
import subprocess # from all OS
# open file win32
filename = 'path/to/file.doc'
subprocess.run(['open', filename])
# subprocess.run(['open', filename]) # macOS
# subprocess.run(['xdg-open', filename]) # linux
l1 = l2 = [1,2,3]
print("Это список l1:", l1)
print("Это список l2:", l2)
l1.append(4)
print("В список l1 добавили 4:", l1)
print("Это список l2 и он изменился тоже:", l2)
l1 = [1,2,3]
l2 = [1,2,3]
print("Это список l1:", l1)
print("Это список l2:", l2)
l1.append(4)
print("В список l1 добавили 4:", l1)
print("Это список l2 и он не изменился:", l2)
CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
);
CREATE TABLE track(
trackid INTEGER,
trackname TEXT,
trackartist INTEGER REFERENCES artist(artistid) ON UPDATE CASCADE
);
PRAGMA foreign_keys = ON;
Работаю с Python, Sql, php, html+css, c#, Javascript, Java, electron js
Мне нужно что-то вроде oninput
как отслеживать изменение текста в input даже если фокус с него не убирается
$(document).on('input', '[data-action="text"]', function () {
var $item = $(this),
value = $item.val();
// А тут творим магию...
});
import os
from shutil import copyfile, rmtree
SOURCE = 'D:\\домашка\\G_ Arhangelskiy_-_Time_Draive\\G_ Arhangelskiy_-_Time_Draive'
DESTINATION = 'D:\\домашка\\G_ Arhangelskiy_-_Time_Draive\\G_ Arhangelskiy_-_Time_Draive — копия'
files = [f.path for f in os.scandir(SOURCE) if f.is_file()]
for file in files:
copyfile(file, DESTINATION)
rmtree(SOURCE)