СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Уроки Python 16 – Модуль OS

Категория: Информатика

Нажмите, чтобы узнать подробности

Уроки Python 16 – Модуль OS

Просмотр содержимого документа
«Уроки Python 16 – Модуль OS»

Уроки Python 16 – Модуль OS

Модуль os в Python предназначен для взаимодействия программы с операционной системой, в частности для управления файлами. Иногда нужно автоматизировать какие-то действия с файлами, например создать автоматический установщик, или программу делающую бэкап документов на второй раздел диска. Вариантов применения работы с файлами - масса. Рассмотрим основные команды модуля:


Чтобы начать работу сперва нужно импортировать модуль os:

import os


Получаем путь к текущей папке в которой происходит работа программы. Эта папка не обязательно должна совпадать с той папкой из которой запущено приложение, можно и поменять её на нужную нам.

print (os.getcwd()) # возвращает путь к текущей рабочей папке

os.chdir('D:/') # устанавливает путь к текущей рабочей папке


Попробуем получить список файлов в текущей директории с расширением '.py'. Для этого используем модули os и fnmatch.

import os

import fnmatch

for file in os.listdir('.'):

if fnmatch.fnmatch(file, '*.py'):

print (file)


Удалим какой-либо файл, который существует на диске:

import os

(os.remove('D:/test.txt'))


Переименуем файл:

import os

os.rename('sample.txt','sample1.txt')


Давайте создадим папку по указанному пути и сразу же удалим её. Здесь мы дополнительно подключили модуль shutil.

import os

import shutil

os.makedirs('D:/test/test2') # Создаёт все папки по указанному пути

shutil.rmtree('D:/test') # Удаляет папку


Получим размер какого-нибудь файла, а также дату его модификации.

import os.path

from datetime import datetime # для преобразования даты в приемлемый формат

path = 'C:/Windows/notepad.exe'

size = os.path.getsize(path) # размер файла в байтах

ksize = size//1024 # размер в килобайтах

atime = os.path.getatime(path) # дата последнего доступа в секундах с начала эпохи

mtime = os.path.getmtime(path) # дата последней модификации в секундах с начала эпохи

print ('Размер: ', ksize, ' KB')

print ('Дата последнего использования: ', datetime.fromtimestamp(atime))

print ('Дата последнего редактирования: ', datetime.fromtimestamp(mtime))


Откроем какой-либо файл с помощью программы которой этот файл открывается в системе:

import os

os.startfile(r'C:/Program Files/Mozilla Firefox/firefox.exe')


Напечатаем список всех файлов содержащихся внутри папок по определенному пути (учитывая вложенные подкаталоги)

import os

for root, dirs, files in os.walk('C:/Users/Public/'):

for name in files:

fullname = os.path.join(root, name)

print(fullname + '\n')


Ниже приведен список еще некоторых полезных команд:

os.path.basename('D:/test/1/file.txt') # Возвращает имя объекта (файл / папка) указанного пути

os.path.dirname('D:/test/folder/fld/file.txt') # Возвращает родительский путь к объекту пути (первая часть os.path.split)

os.path.splitext('D:/test/folder/fld/file.txt') # Разделяет путь на путь и расширение файла

os.path.exists('D/1/temp.txt') # существует ли путь?

os.path.isfile('D/test1.txt') # Является ли объект пути обычным файлом? (существующим)

os.path.isdir('D:/test') # Является ли объект пути обычной папкой? (существующей)