Основные тезисы
1. Функция uname
возвращает объект, содержащий информацию о текущей операционной системе. Объект имеет следующие атрибуты:
- systemname (хранит имя операционной системы)
- nodename (хранит имя устройства в сети)
- release (хранит выпуск операционной системы)
- version (хранит версию операционной системы)
- machine (хранит идентификатор оборудования, например x86_64.)
2. Атрибут name, доступный в модуле os
, позволяет Вам идентифицировать операционную систему. Он возвращает одно из следующих трех значений:
- posix (Вы получите это имя, если используете Unix)
- nt (Вы получите это имя, если используете Windows)
- java (Вы получите это имя, если Ваш код написан на чем-то вроде Jython)
3. Функция mkdir
создает каталог по пути, переданному в качестве аргумента. Путь может быть относительным или абсолютным, например:
import os
os.mkdir("hello") # the relative path
os.mkdir("/home/python/hello") # the absolute path
Примечание: Если каталог существует, будет выдано исключение FileExistsError
. В дополнение к функции mkdir
модуль os
предоставляет функцию makedirs
, которая позволяет рекурсивно создавать все каталоги в пути.
4. Результатом функции listdir()
является список, содержащий имена файлов и каталогов, которые находятся в пути, переданном в качестве аргумента.
Важно помнить, что функция listdir
пропускает записи "." и "..", которые отображаются, например, при использовании команды ls -a
в системах Unix. Если путь не указан, результат будет возвращен для текущего рабочего каталога.
5. Для перемещения между каталогами вы можете использовать функцию chdir()
, которая изменяет текущий рабочий каталог на указанный путь. В качестве аргумента он принимает любой относительный или абсолютный путь.
Если Вы хотите узнать, что такое текущий рабочий каталог, Вы можете использовать функцию getcwd()
, которая возвращает путь к нему.
6. Чтобы удалить каталог, Вы можете использовать функцию rmdir()
, но чтобы удалить каталог и его подкаталоги, используйте функцию deletedirs()
.
7. И в Unix, и в Windows Вы можете использовать системную функцию, которая выполняет команду, переданную ей в виде строки, например:
import os
returned_value = os.system("mkdir hello")
Функция system в Windows возвращает значение, возвращаемое оболочкой после выполнения данной команды, в то время как в Unix она возвращает статус завершения процесса.
Упражнение 1
Что выведет следующий код, если Вы запустите его в Unix?
import os
print(os.name)
Упражнение 2
Каков вывод следующего кода?
import os
os.mkdir("hello")
print(os.listdir())