os - Это модуль для работы с операционной системой, работа
с файловой структурой, директориями.
os.path.basename - вернет названия файла в этом пути, последний
файл:
print(os.path.basename(r'C:\Python27\Tools\pynche\ChipViewer.py'))
# Вывод
# ChipViewer.pyos.path.dirname - вернет все до последнего файла:
print( os.path.dirname(r'C:\Python27\Tools\pynche\ChipViewer.py') )
# Вывод
# C:\\Python27\\Tools\\pyncheos.path.exists - говорит о существовании файла или нет.
os.path.isdir / os.path.isfile - аналогичная проверка на
существование.
os.path.join - совмещает пути при помощи разделителя в
текущей операционной системе:
print(os.path.join(r'C:\Python27\Tools\pynche', 'ChipViewer.py'))
# Вывод
# C:\\Python27\\Tools\\pynche\\ChipViewer.pyЭтот метод получает аргумент, строку пути, сканирует все содержимое, и возвращает объект генератор со всем содержимым, содержимое генератора имеет структуру:
('Корень директории', [Список со всеми под директориями], [список файлов])
Пройдемся по генератору циклом for:
test_dir = 'test-dir'
gener = os.walk(test_dir)
for root, dirs, files in gener:
print(root, dirs, files)
# Вывод
# test-dir ['test-dir-2'] ['test.txt']
# test-dir/test-dir-2 [] ['test-2.txt']Или методом next():
test_dir = 'test-dir'
gener = os.walk(test_dir)
print(next(gener))
print(next(gener))
# Вывод
# ('test-dir', ['test-dir-2'], ['test.txt'])
# ('test-dir/test-dir-2', [], ['test-2.txt'])Если использовать символ / то получим списки всех путей со всеми
файлами во всей системе, это займет много времени, и заняло бы много
памяти, если это была бы обычная структура, но это генератор и по
этому он ест меньше памяти.
os.getcwd() - Показать путь до текущей директории в которой
запущен файл.
os.pardir
os.listdir - Она показывает все содержимое каталога, если команда
os.walk() возвращает все содержимое до дна рекурсивно, то данная
команда выводит список только одной директории.
-
os.remove('try.py') -
os.unlink('try.py')
Сделать это можно 2 путями:
os.getenv('HOME')
os.path.expanduser('~')
# Вывод для обычного пользователя:
# /home/serg
# /home/serg
# Если речь идет о суперпользователе, то вывод будет таким:
# /rootos.fork() - ???
os.system("shutdown -s") - Выключение компьютера.