Модуль ОС в Python обеспечивает доступ к системным функциям для работы с файловой системой, процессами, планировщиком и т. Д. Вам необходимо освоить систему ОС Python для написания приложений, которые имеют дело с реальными проблемами. В этом руководстве обсуждаются некоторые основные концепции и показано, как использовать системную команду Python.
Особенности системы ОС Python
Система ОС служит переносимым способом взаимодействия с базовой операционной системой. Он предлагает доступ к именам файлов, аргументам командной строки, переменным среды, параметрам процесса и иерархии файловой системы наряду с другими функциями.
Этот модуль также содержит два субмодуля: модуль os.sys и модуль os.path. Вы можете использовать функции, предоставляемые модулем ОС, для выполнения широкого круга задач. Некоторое распространенное использование включает выполнение команд оболочки, управление файлами и каталогами, создание процессов и т. Д.
Начало работы с модулем ОС
Самый простой способ изучить модуль ОС - через интерпретатор. Вы можете импортировать модуль туда и использовать системные функции без написания исходного кода. Однако для этого у вас должен быть установлен Python. Так что продолжайте и установите Python на свой локальный компьютер.
Связанный: Как установить Python в Ubuntu
Запустите интерпретатор, набрав питон в вашем терминале или командной оболочке. Как только он откроется, импортируйте модуль ОС, используя следующую инструкцию.
как сделать загрузочную windows 7 usb
>>> import os
Теперь вы можете получить доступ к функциям, предоставляемым модулем ОС, включая Python система команда. Например, вы можете определить платформу системы с помощью имя команда. В приведенном ниже примере показано, как вызывать системные команды, предоставляемые модулем ОС.
>>> os.name
Эта функция проверяет наличие определенных модулей ОС и определяет платформу на основе этого. Использовать безымянный функция для получения подробной информации.
>>> os.uname()
Эта команда отображает точную системную платформу вместе с информацией об архитектуре компьютера, выпуске и версии. Использовать getcwd функция для получения текущего рабочего каталога.
>>> os.getcwd()
Вы можете легко изменить рабочий каталог с помощью системной команды Python чдир . Передайте новое местоположение как строковый параметр.
>>> os.chdir('/tmp')
В mkdir Функция модуля ОС упрощает создание новых каталогов. Это также позволяет нам создавать рекурсивные папки, то есть Python создаст все отсутствующие каталоги, которые являются родительскими для конечного каталога.
>>> os.mkdir('new-dir')
Использовать rmdir команда для удаления каталогов из вашего рабочего каталога.
>>> os.rmdir('new-dir')
Примеры системной команды Python
Системная команда, предоставляемая модулем ОС, позволяет программистам выполнять команды оболочки. Обязательно укажите имя команды в виде строки. Как только вы вызываете питон система команда, он запустит данную команду в новой подоболочке.
>>> cmd = 'date'
>>> os.system(cmd)
Вы можете запускать другие автономные приложения, используя этот же метод. В следующем примере редактор терминала nano запускается из оболочки Python.
>>> cmd = 'nano'
>>> os.system(cmd)
Система ОС Python также выводит код возврата для каждой выполняемой команды. Системы POSIX возвращают 0 при успешном выполнении и ненулевые значения для обозначения проблем.
Вы можете использовать систему ОС на Python для запуска всего, что захотите. Например, если вашей программе необходимо прочитать информацию о версии программы на пользовательской машине, вы можете сделать что-то вроде следующего.
>>> cmd = 'gcc --version'
>>> os.system(cmd)
В приведенном ниже примере выполняется простая команда оболочки, которая создает новый файл с именем users.txt и заполняет его всеми пользователями, вошедшими в систему. Многие программы Python делают эти вещи.
>>> os.system('users > test')
Мы передаем имя команды в систему ОС в виде строки. Вы можете использовать все виды полезные команды терминала так же.
>>> os.system('ping -c 3 google.com')
Вы также можете использовать подпроцесс вызывает выполнение системных команд из Python. Это дает несколько дополнительных преимуществ, включая более быстрое выполнение, лучшую обработку ошибок, синтаксический анализ вывода и конвейерные команды оболочки. Официальная документация Python также рекомендует вызов подпроцесса над более старыми модулями, такими как os.system а также os.spawn .
>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])
Управление файлами и каталогами через модуль ОС
Мы показали, как создавать простые файлы и каталоги с помощью модуля ОС Python. Что делать, если вы хотите создать вложенные папки? Система ОС также позаботится об этом для нас, программистов. Например, приведенные ниже фрагменты создают папку $ HOME / тест / корень / api . Он также создаст необходимые родительские каталоги, если они недоступны.
>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)
Сначала мы получили домашний каталог, используя о а затем присоединил имена папок через os.path.join . Оператор печати отображает имя папки и македиры создает это.
Мы можем просмотреть новый каталог, используя listdir метод модуля ОС.
>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])
Вы можете легко переименовать каталог api, используя переименовать команда, предлагаемая модулем ОС. Приведенный ниже оператор переименовывает этот каталог api в test-api.
>>> os.rename('api', 'test-api')
Использовать isfile а также имя функция ОС, если вашей программе необходимо проверить определенные файлы или каталоги.
>>> os.path.isfile('file1')
>>> os.path.isdir('file1')
Модуль ОС в Python также позволяет разработчикам извлекать имена файлов и папок вместе с расширениями файлов. Приведенные ниже фрагменты иллюстрируют использование os.path.split а также os.path.splitext в этом отношении.
>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)
Используйте приведенный ниже код для извлечения расширений, таких как .txt или .mp3, из имен файлов.
>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)
Разное использование системы Python OS
Модуль ОС предлагает множество дополнительных функций для управления такими вещами, как пользовательские процессы и планировщик заданий. Например, вы можете быстро получить UID (идентификатор пользователя) текущего процесса, используя засвидетельствовал функция.
>>> os.getuid()
>>> os.getgid()
В Getgid функция возвращает идентификатор группы запущенного процесса. Использовать Getpid для получения PID (идентификатор процесса) и Getppid чтобы получить идентификатор родительского процесса.
>>> os.getpid()
>>> os.getppid()
Вы также можете использовать модуль ОС для изменения прав доступа к файлам и каталогам из вашей программы Python. Использовать chmod функция ОС для этого.
>>> os.chmod('file1.txt', 0o444)
Эта команда изменяет разрешение file1.txt к 0444 . Использовать 0o444 вместо того 0444 чтобы убедиться, что оператор совместим с обеими основными версиями Python.
Используйте всю мощь системы Python OS
Модуль ОС Python предоставляет все необходимое для взаимодействия с базовой операционной системой. Для написания действительно кроссплатформенных программ необходимо четкое понимание системы ОС. Мы рассмотрели некоторые из основных функций, предоставляемых этим модулем, чтобы помочь вам начать работу. Попробуйте их в удобном для вас темпе и не забудьте повозиться с ними.
Делиться Делиться Твитнуть Эл. адрес Как создавать и использовать кортежи в PythonГотовы вывести код Python на новый уровень? Пришло время понять, как создавать и использовать кортежи.
Читать далее Похожие темы- Программирование
- Python
Рубайат - выпускник компьютерных наук с сильной страстью к открытому исходному коду. Помимо того, что он ветеран Unix, он также занимается сетевой безопасностью, криптографией и функциональным программированием. Он заядлый коллекционер подержанных книг и безгранично восхищается классическим роком.
Ещё от Rubaiat HossainПодписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Нажмите здесь, чтобы подписаться