# 1
from pathlib import Path
home_dir = Path.home()
# 2
import os
home_dir = os.path.expanduser('~')
Путь к домашней папке пользователя в Python
Добавить комментарий
# 1
from pathlib import Path
home_dir = Path.home()
# 2
import os
home_dir = os.path.expanduser('~')
# RANDOM_NUMBER=`perl -e 'print int rand 10000000, "\n"; '`
RANDOM_NUMBER=`python3 -c "import random; print(str(random.randint(1, 999999999)).zfill(10))"`
$ jot -r 1 0 100
54
$ jot -r 1 0 100
7
$ jot -r 1 0 100
48
$ jq --help
jq - commandline JSON processor [version 1.7]
Usage: jq [options] <jq filter> [file...]
DATA=$(tee)
# https://orange3.readthedocs.io/projects/orange-data-mining-library/en/latest/tutorial/classification.html Документация по работе с моделями Orange для классификации из кода на Python
# https://stackoverflow.com/questions/63060587/deploying-orange-3-models рецепт по загрузке готовой модели из файла
>>> import Orange
>>> iris = Orange.data.Table('Iris') # Загрузка данных для модели, имя файла
>>> iris # как выглядят загруженные данные
[[5.1, 3.5, 1.4, 0.2 | Iris-setosa],
[4.9, 3.0, 1.4, 0.2 | Iris-setosa],
[4.7, 3.2, 1.3, 0.2 | Iris-setosa],
[4.6, 3.1, 1.5, 0.2 | Iris-setosa],
[5.0, 3.6, 1.4, 0.2 | Iris-setosa],
...
]
>>> iris.domain # колонки загруженной таблицы
[sepal length, sepal width, petal length, petal width | iris]
>>> tr = Orange.classification.TreeLearner() # выбор типа классификатора
>>> classifier = tr(iris) # обучение модели на загруженных данных
>>> printed_tree = classifier.print_tree() # просмотр, чему модель на данных научилась (не обязательно смотреть)
>>> for i in printed_tree.split('\n'):
... print(i)
...
[50. 0. 0.] petal length ≤ 1.9
[ 0. 50. 50.] petal length > 1.9
[ 0. 49. 5.] petal width ≤ 1.7
[ 0. 47. 1.] petal length ≤ 4.9
[0. 2. 4.] petal length > 4.9
[0. 0. 3.] petal width ≤ 1.5
[0. 2. 1.] petal width > 1.5
[0. 2. 0.] sepal length ≤ 6.7
[0. 0. 1.] sepal length > 6.7
[ 0. 1. 45.] petal width > 1.7
>>> iris[2] # просмотр произвольной записи из данных для обучения
[4.7, 3.2, 1.3, 0.2 | Iris-setosa]
>>> classifier(iris[2]) # предсказание класса для записи из данных для обучения
0 # индекс предсказанного класса
>>> classifier(iris) # предсказание классов для всех записей из данных для обучения
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=int64)
>>> classifier([1,1,1,1]) # предсказание по произвольным значениям от пользователя
0 # индекс предсказанного класса
>>> classifier([3,3,3,3])
2
>>> classifier([3,3,3,0])
1
>>> classifier([3,0,3,0])
1
>>> classifier([3,0,0,0])
0
>>>
# $?
Для редактирования заданий текущего пользователя:
crontab -e
Формат записи:
minute hour day_of_month month day_of_week command_to_execute
Допустимые значения:
Управление другим пользователем:
sudo crontab -u username -e
Просто посмотреть:
crontab -l
Проверка, запущен ли cron:
sudo systemctl status cron
Запуск задания каждые 5 минут:
*/5 * * * *
Выполнить задание при включении компьютера:
@reboot
https://gcc.gnu.org/onlinedocs/gcc-4.7.0/libstdc++/api/a01065_source.html
00054 #define EXIT_SUCCESS 0
00055 #define EXIT_FAILURE 1
C:>title "новый заголовок окна"
>>> for i in range(1, 11):
... print(" ".join(map(str, [i*j for j in range(1, 11)])))
...
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
>>> for i in range(1, 11):
... print("".join(map(lambda x: str(x).rjust(4), [i*j for j in range(1, 11)])))
...
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
>>>