Ниже приведены некоторые функции модуля ОС:
1. os.name: Эта функция дает имя импортируемого зависимого модуля операционной системы. В настоящее время зарегистрированы следующие имена: "posix", "nt", "os2", "ce", "java" и "riscos"
import
os
print
(os.name)
Вывод:
posix
Примечание: это может привести к разным результатам на разных интерпретаторах, таких как "posix", когда вы запускаете код здесь.
2. os.getcwd(): Функция os.getcwd(), которая возвращает текущий рабочий каталог (CWD) файла, используемого для выполнения кода, может различаться в разных системах.
import
os
print
(os.getcwd())
# Чтобы напечатать абсолютный путь в вашей системе
# os.path.abspath ('. ')
# Для печати файлов и каталогов в текущем каталоге
# в вашей системе
# os.listdir ('. ')
Вывод:
C: UsersGFGDesktopModuleOS
Примечание. В случае интерпретатора GFG используется корневой каталог /.
3. os.error: Все функции в этом модуле вызывают OSError для недопустимых или недоступных имен файлов и путей или других аргументов, которые имеют правильный тип, но не принимаются операционной системой. ОС.ошибка — это псевдоним встроенного исключения OSError.
import
os
try
:
# Если файл не существует,
# тогда это вызовет ошибку IOError
имя файла
=
`GFG.txt`
f
=
open
(имя файла,
`rU`
)
text
=
f.read ()
f.close ()
# Cont rol переходит прямо сюда, если
# любая из приведенных выше строк вызовет ошибку IOError.
кроме
IOError:
# print (os.error) будет "класс ' Ошибка ОС ' >
print
(
`Проблема чтения:`
+
имя файла)
# В любом случае код продолжается
# строкой после try/except
Вывод:
Проблема чтения: GFG.txt
Управление файловыми объектами
4. os.popen(): Этот метод открывает канал к команде или от нее. Возвращаемое значение может быть прочитано или записано в зависимости от того, установлен ли режим ' р ' или ' w '.
Синтаксис:
os.popen (command [, mode [, bufsize]])
Параметры режима и усилитель ; bufsize не являются обязательными параметрами, если они не указаны, по умолчанию используется режим "r".
import
os
fd
=
" GFG .txt "
# popen() похож на open()
file
=
open
(fd,
`w`
)
файл
. запись (
"Hello"
)
файл
<класс кода = "обычный">. закрыть ()
file
=
open
(fd,
`r`
)
текст
=
файл
. чтение ()
print
(текст)
< br> # popen() предоставляет канал/шлюз и напрямую обращается к файлу
файл
=
os.popen (fd ,
`w`
)
файл
. write (
"Hello"
)
# Файл не закрыт, отображается в следующей функции.
Вывод:
Hello
Примечание. Вывод popen() не будет отображаться, в файл будут внесены прямые изменения.
5. os.close(): закрыть файловый дескриптор fd. Файл, открытый с помощью open(), можно закрыть только с помощью close(). Но файл, открытый с помощью os.popen(), можно закрыть с помощью close() или os.close(). Если мы попытаемся закрыть файл, открытый с помощью open(), используя os.close(), Python выдаст ошибку TypeError.
import
os
fd
=
"GFG.txt"
file
=
open
(fd,
`r`
)
текст
=
файл
<код класса="простой">. чтение ()
печать
(текст)
os.close (
file
)
Выход:
Traceback (последний последний вызов): файл «C: UsersGFGDesktopGeeksForGeeksOSFile.py», строка 6, в os.close (файл) TypeError: целое число требуется (получил тип _io.TextIOWrapper)
Примечание: та же ошибка не может быть выдана из-за отсутствия прав доступа к файлу или разрешения.
6. os.rename(): старый файл.txt можно переименовать в новый.txt с помощью функции os.rename(). Имя файла изменяется только в том случае, если файл существует и у пользователя есть достаточные права на его изменение.
import
ОС
fd
=
" GFG .txt "
os.rename (fd,
` New.txt`
)
os.rename (fd,
`Новый .txt`
)
Выход:
Traceback (большинство последний последний вызов): Файл «C: UsersGFGDesktopModuleOSGeeksForGeeksOSFile.py», строка 3, в os.rename (fd, «New.txt») FileNotFoundError: [WinError 2] Система не может найти указанный файл: «GFG.txt» — > `New.txt`
Понимание вывода: имя файла "GFG.txt" существует , поэтому при первом использовании os.rename() файл переименовывается. Когда функция os.rename() вызывается снова, файл "New.txt" существует, а не "GFG.txt",
поэтому Python выдает ошибку FileNotFoundError.
Ссылка: https://docs.python.org/2/library/os.html
Эта статья предоставлена Пиюшем Дорваром . Если вы представляете Python.Engineering и хотели бы внести свой вклад, вы также можете написать статью, используя вклад.python.engineering или опубликовав статью. внести свой вклад @ python.engineering. См. мою статью на домашней странице Python.Engineering и помогите другим специалистам.
Если вы обнаружите что-то не так или хотите поделиться дополнительной информацией по теме, обсуждаемой выше, оставляйте комментарии.