Руководство по основным методам модуля os в Python. Подробно рассмотрим примеры использования популярных методов.
- Введение
- Использование модуля os в Python
- Использование метода os.getcwd()
- Использование метода os.chdir()
- Использование метода os.listdir()
- Использование метода os.mkdir()
- Использование метода os.rename()
- Использование метода os.rmdir()
- Использование метода os.remove()
- Использование метода os.system()
- Использование метода os.uname()
- Использование метода os.environ
- Использование метода os.getuid()
- Использование метода os.getpid()
- Заключение
Введение
Os — это встроенная библиотека языка программирования, предоставляющая интерфейс для взаимодействия с базовой операционной системой, под управлением которой работает Python.
Этот модуль представляет собой портативный способ использования функциональности, зависящей от операционной системы.
Модуль операционной системы поставляется по умолчанию со стандартными утилитными модулями Python, поэтому вам не нужно ничего устанавливать, чтобы начать использовать его.
Модуль os предоставляет массу методов, которые вы используете в различных ситуациях при взаимодействии с операционной системой, начиная от создания новых файлов и папок и заканчивая их переименованием и удалением.
Использование модуля os в Python
Вы можете посмотреть список всех доступных методов в модуле os используя следующий код
import os dir(os) ['abc', 'access', 'chdir', 'chmod', 'chown', 'close', 'confstr', 'cpu_count', 'curdir', 'defpath', 'devnull', 'dup2', 'environ', 'error', 'execle', 'execlp', 'execv', 'execvp', 'extsep', 'fchmod', 'fchown', 'fdopen', 'forkpty', 'fpathconf', 'fsdecode', 'fsencode', 'fstat', 'fsync', 'ftruncate', 'get_blocking', 'get_exec_path', 'get_inheritable', 'getcwd', 'getenv', 'geteuid', 'getgid', 'getgrouplist', 'getgroups', 'getloadavg', 'getpgrp', 'getpid', 'getppid', 'getsid', 'getuid', 'initgroups', 'kill', 'killpg', 'lchflags', 'lchmod', 'lchown', 'linesep', 'link', 'lockf', 'lstat', 'makedirs', 'mkdir', 'mkfifo', 'name', 'open', 'openpty', 'path', 'pathconf', 'pathsep', 'pipe', 'popen', 'posix_spawn', 'posix_spawnp', 'pread', 'putenv', 'read', 'readlink', 'readv', 'remove', 'removedirs', 'rename', 'renames', 'replace', 'rmdir', 'sched_get_priority_max', 'sched_get_priority_min', 'sendfile', 'set_blocking' ]
Листинг команды очень большой и мне пришлось сократить часть вывода.
Так же вы можете обратиться к официальной документации по использованию модуля os в Python.
В этой статье мы рассмотрим некоторые основные методы библиотеки os на конкретных примерах.
Использование метода os.getcwd()
Этот метод ОС используется для получения пути текущей рабочей директории.
import os os.getcwd() '/Users/krnlnx'
Использование метода os.chdir()
Этот метод используется для изменения текущего каталога на новый, ему передается один параметр — путь к новому каталогу.
import os os.getcwd() '/Users/krnlnx' os.chdir('Desktop') os.getcwd() '/Users/krnlnx/Desktop'
Использование метода os.listdir()
Этот метод возвращает все файлы и каталоги в текущем каталоге.
import os os.listdir() ['testdir', 'testfile.py', 'testimage.png']
Также можно передать параметр конкретной директории для просмотра ее файлов и каталогов.
import os os.listdir('/tmp/') ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'powerlog', 'com.apple.launchd.791fHUaFBR']
Использование метода os.mkdir()
Этот метод используется для создания новой директории в текущей папке, например, давайте создадим директорию под названием Products.
import os os.listdir() ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'powerlog', 'com.apple.launchd.791fHUaFBR'] os.mkdir('Products') os.listdir() ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'Products', 'powerlog', 'com.apple.launchd.791fHUaFBR']
Использование метода os.rename()
Модуль используется для переименования файла или папки, ему передается два аргумента, старое и новое имя файла или папки. Например, переименуем папку Products в Stuff.
import os os.listdir() ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'Products', 'powerlog', 'com.apple.launchd.791fHUaFBR'] os.rename('Products', 'Stuff') os.listdir() ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'Stuff', 'powerlog', 'com.apple.launchd.791fHUaFBR']
Использование метода os.rmdir()
Этот метод используется для удаления каталогов. Имя каталога, который вы хотите удалить нужно передать первым аргументом. os.rmdir() будет работать только для пустых директорий.
Например, удалим каталог Stuff с помощью rmdir().
import os os.listdir() ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'Stuff', 'powerlog', 'com.apple.launchd.791fHUaFBR'] os.rmdir('Stuff') os.listdir() ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'powerlog', 'com.apple.launchd.791fHUaFBR']
Использование метода os.remove()
Этот метод используется для удаления файлов. Например, удалим файл powerlog.
import os os.listdir() ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'powerlog', 'com.apple.launchd.791fHUaFBR'] os.remove('powerlog') os.listdir() ['fseventsd-uuid', 'MozillaUpdateLock-2656FF1E876E9973', 'com.apple.launchd.791fHUaFBR']
Использование метода os.system()
Этот метод используется для выполнения команды оболочки внутри Python приложения, как если бы вы были в оболочке. Например, давайте выполним команду «ls -1» с помощью системного метода.
import os os.system('ls -1')
Вывод программы выглядит следующим образом
MozillaUpdateLock-2656FF1E876E9973 com.apple.launchd.791fHUaFBR fseventsd-uuid 0
Цифра 0 в конце вывода означает что выполнение программы прошло без ошибок.
Использование метода os.uname()
Этот метод возвращает информацию, идентифицирующую текущую операционную систему.
import os os.uname() posix.uname_result(sysname='Darwin', nodename='macbook.local', release='20.3.0', version='Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64', machine='x86_64')
Использование метода os.environ
Environ не является методом в модуле ОС, а является параметром процесса, через который мы можем получить доступ к переменным окружения системы.
Например, давайте получим доступ к переменной окружения HOME
import os os.environ['HOME'] '/Users/krnlnx'
Мы также можем установить собственную переменную окружения, как показано в примере ниже.
import os os.environ['test_key'] = "Test var" os.environ['test_key'] 'Test var'
Использование метода os.getuid()
Этот модуль возвращает идентификатор пользователя текущего процесса.
import os os.getuid() 501
Использование метода os.getpid()
Возвращает реальный идентификатор процесса текущего приложения.
import os os.getpid() 4365
Заключение
В этой статье мы узнали о модуле os и о том, как его можно использовать в различных задачах, связанных с операционной системой, используя его методы.
Надеюсь, вам была интересна эта статья, не стесняйтесь поделиться ее со своими коллегами и друзьями в ваших сообществах разработчиков.
Оставляйте в комментариях свои предложения и отзывы и я обязательно свяжусь с вами как можно скорее.
Егор, привет и спасибо за ресурс!
Учусь/пишу домашки в PyCharm, всё последних версий, и прога, и интерпретатор — программа при написании os.get.. предлагает getuid, выбираю его из выпавшего списка, при выполнении пишет что в модуле os такой команды нет.. команды которую он сам предложил))
Getuname в свою очередь даже нет в списках и при написании вручную выдаёт ту же ошибку что такого в os не существует.
Круть!Спасибо за подробно расписанную статью. Столько разных методов узнала, буду использовать в работе и изучать дальше
угу, когда писал сам немножко нового узнал, век живи — век учись)