Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Пример программы эмуляции командной строки операционной системы
Сегодня "разгрузочный" день (от баз данных) и вместе с тем повторение пройденного. Простая программка, которая эмулирует обычную программную строку в терминале операционной системы. Предварительно вспомните старый материал, статью о библиотеке subprocess:
статьи об try-except:
Ну и статью о библиотеке signal:
Это не все статьи по данным темам, но я и так перечислил много, если станет интересно, то найдёте
Что я, собственно, хочу.
1. Написать программу, которая выполняет команды стандартной консоли операционной системы.
2. Вывести на консоль результат работы команды, в том числе и сообщения об ошибках.
3. Обеспечить обработку нажатия сочетаний клавиш ctrl+c и ctrl+z.
4. Обеспечить выход из программы по заданной команде (out).
Полноценная работа программы возможно только под Linux. Я бы был рад, если кто-то прислал мне аналог для Windows. Ну если соберусь, то сам напишу, но лень уже лезть глубоко в Windows
Вот собственно и всё. А это программа
Работа программы
>>>> ls /home
aquota.group
aquota.user
lost+found
user
vladislav
Обратите внимание, как устанавливается обработчик нажатия Ctl+Z
signal.signal(signal.SIGTSTP, handler)
Да, разберитесь, зачем метод decode() используется.
Ну, пока всё!
Пишите свои предложения и замечания и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.