Данная статья является переводом статьи в интернете https://linuxconfig.org/python-os-module
Возможно, при дальнейшем изучении модуля, дополню статью и своими мыслями.
Введение
Python - мощный язык сценариев. Итак, почему бы не использовать его для написания сценариев Linux? Модуль os является ответом Python на обработку многих файловых операций Linux.
Модуль os позволяет Python выполнять многие операции с файлами и папками, которые вы обычно выполняете в командной строке Linux. Это позволяет вам начать замену Bash на Python, что делает работу с сценариями намного чище и удобнее.
Загрузка ОС
Модуль os является встроенным модулем Python, поэтому дополнительная его установка не требуется.
Для начала работы с модуле импортируем его:
import os
getcwd()
Метод getcwd() возвращает текущий рабочий каталог в виде строки. Вам не нужно ничего передавать. Это примерно эквивалентно pwd.
print(os.getcwd())
chdir()
chdir() является эквивалентом Python cd. Вызовите метод и передайте ему каталог, который вы хотите изменить, в виде строки.
os.chdir('/home/user/Documents')
Он также поддерживает использование относительных путей, какcd.
os.chdir('../ Downloads')
listdir()
Использование listdir() очень похоже на запуск ls в Bash. Однако есть одно большое отличие - возвращаемое значение.
Вместо того, чтобы распечатывать содержимое каталога, вы получаете их обратно в виде списка.
download_list = os.listdir('Downloads')
print(download_list)
Опять же, вы можете указать каталог, или в нем будет указано содержимое текущего каталога.
mkdir() и makedirs()
Эти два - именно то, что вы ожидаете от них. mkdir() работает очень похоже на команду Linux, которую вы знаете. В этом случае для указания разрешений может потребоваться второй параметр.
os.mkdir('testdir', 755)
makedirs() Метод работает таким же образом, но может создавать каталоги рекурсивно друг в друге, устраняя необходимость mkdir()многократного запуска.
os.makedirs('testdir2 /something /somethingelse', 755)
Еще раз, вы можете указать разрешения, если хотите.
chmod()
Это снова простой эквивалент его традиционного аналога. chmod() для Python принимает два аргумента. Первый - это каталог для изменения, а второй - разрешения для изменения.
os.chmod('test', 774)
chown()
Вы также можете сменить владельца с помощью Python. chown() так вы это делаете. Метод очень похож на команду Linux, но для его работы требуются идентификаторы пользователей и групп.
os.chown('test', 1000, 1000)
Эта команда изменит владельца каталога “test” на пользователя с идентификатором 1000 и группу с идентификатором 1000.
remove() и removedirs()
remove() удаляет один файл, который он передал. Вы также можете передать ему полный путь к файлу.
os.remove('/home/user/ Downloads /somefile')
Чтобы удалить каталоги, используйте removedirs() метод. Он удалит указанный каталог и все его содержимое.
os.removedirs('test_dir')
system ()
Итак, последний метод здесь является самым мощным, а также самым опасным. system() Метод обманывает. Он позволяет вам запускать любую системную команду Linux, которую вы передаете ему.
Здесь есть несколько проблем. Во-первых, для запуска метода Python открывает собственную консоль. Использование system() слишком большого количества неэффективно и может отнимать ресурсы. Что еще более важно, system() может запускать что угодно. Это означает, что он может нанести серьезный ущерб. Если вы собираетесь использовать system(), используйте его экономно и в контролируемых условиях.
Попробуйте выполнить команду system().
print(os.system(ls -lah))
Вы также можете проявить творческий подход к нему и даже объединять команды, как в обычном терминале.
print(os.system(ps aux | grep firefox))
Если у вас запущен Firefox, команда найдет процесс и распечатает информацию о нем.
Заключительные мысли
Вы сделали первый шаг к написанию сценариев для вашей Linux-системы с помощью Python. Есть больше инструментов, которые предлагает Python, и в этом пространстве все становится очень сложным. Популярные инструменты автоматизации, такие как Ansible и Salt, созданы на Python, поэтому на самом деле нет предела тому, что он может делать.
Полезные ссылки
Командная строка в python (питон) | Модуль os python
КОМАНДНАЯ СТРОКА ЧЕРЕЗ PYTHON | OS
Немного саморекламы
Комплексный монтаж и обслуживание инженерных систем в Самаре и области. Квартиры, частные дома, торговые, офисные и складские помещения. Гибкая система скидок, предварительная смета, оплата по факту, безналичный расчет. Ищите надёжность и уверенность? Тогда вы по адресу!
тел: 8 (977) 073-37-73 Артём (Вайбер, Ватсапп)
Консультация онлайн бесплатно.
Более подробнее можете узнать в нашей группе ВК:
=> КЛИКАЙ СЮДА <=