JavaRush /Курсы /Модуль 1: Python Core /Встроенные библиотеки

Встроенные библиотеки

Модуль 1: Python Core
8 уровень , 7 лекция
Открыта

8.1 Библиотека os

В Python есть встроенные библиотеки os и platform. Они предоставляют множество функций для работы с операционной системой и получения информации о ней.

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

Библиотека os

Библиотека os предоставляет функции для взаимодействия с операционной системой. Она позволяет выполнять операции, связанные с файловой системой, управлением процессами, переменными окружения и многим другим.

Получение текущего рабочего каталога:


import os

cwd = os.getcwd()
print("Current Working Directory:", cwd)

Изменение текущего рабочего каталога:


os.chdir('/path/to/directory')

Создание нового каталога:


os.mkdir('new_directory')

Удаление каталога:


os.rmdir('new_directory')

Список файлов и каталогов:


files = os.listdir('.')
print("Files and directories:", files)

Полезно: Понятия директория, каталог и папка являются тождественными. Просто они пришли из разных операционных систем. Это одно и то же.

Также вам будет полезно научиться работать с переменными окружения. Это что-то типа переменных операционной системы, которые может считать (или установить) ваша программа.

Получение значения переменной окружения:


home_dir = os.getenv('HOME')
print("Home Directory:", home_dir)

Установка значения переменной окружения:


os.environ['MY_VAR'] = 'my_value'

8.2 Библиотека platform

Библиотека platform предоставляет функции для получения информации о платформе, на которой выполняется Python. Она позволяет узнать операционную систему, архитектуру процессора, версию Python и другие параметры.

Основные функции библиотеки platform

Операционная система:


import platform

os_name = platform.system()
print("Operating System:", os_name)

Имя компьютера в сети (hostname):


node_name = platform.node()
print("Node Name:", node_name)

Релиз операционной системы:


os_release = platform.release()
print("OS Release:", os_release)

Версия операционной системы:


os_version = platform.version()
print("OS Version:", os_version)

Архитектура процессора:


architecture = platform.architecture()
print("Architecture:", architecture)

Тип процессора:


processor = platform.processor()
print("Processor:", processor)

Версия Python:


python_version = platform.python_version()
print("Python Version:", python_version)

Компиляция Python:


python_compiler = platform.python_compiler()
print("Python Compiler:", python_compiler)

Если вам всё ещё интересно, то посмотрите на ваш компьютер глазами вашей программы — выполните этот код:


import platform

print("Operating System:", platform.system())
print("Node Name:", platform.node())
print("OS Release:", platform.release())
print("OS Version:", platform.version())
print("Machine:", platform.machine())
print("Processor:", platform.processor())
print("Architecture:", platform.architecture())
print("Python Version:", platform.python_version())
print("Python Compiler:", platform.python_compiler())

8.3 Библиотека sys

Библиотека sys является частью стандартной библиотеки Python и предоставляет доступ к переменным и функциям, которые взаимодействуют с интерпретатором Python. Она полезна для получения информации о среде выполнения, управления процессом выполнения скрипта и взаимодействия с различными компонентами системы.

Ваша программа может сделать много чего интересного с её помощью.

1. Аргументы командной строки

Библиотека sys позволяет получать аргументы командной строки, переданные скрипту, через список sys.argv.

2. Завершение программы

Функция sys.exit() позволяет завершить выполнение программы с указанным статусом завершения. Ноль обычно указывает на успешное завершение, а любое ненулевое значение указывает на ошибку.


import sys

if len(sys.argv) < 2:
    print("Ошибка: недостаточно аргументов")
    sys.exit(1)
            
print("Все аргументы указаны корректно")
sys.exit(0)

3. Путь поиска модулей

Список sys.path содержит пути, по которым интерпретатор Python ищет модули для импорта. Вы можете добавлять новые пути в этот список для настройки поиска модулей.


import sys

print("Пути поиска модулей:")
for path in sys.path:
    print(path)
            
# Добавление нового пути
sys.path.append('/path/to/my/modules')
print("Обновленный список путей поиска модулей:", sys.path)

4. Информация о системе

Библиотека sys предоставляет информацию о системе и интерпретаторе Python, такую как версия Python и платформа.


import sys

# Версия Python
print("Версия Python:", sys.version)
            
# Информация о платформе
print("Платформа:", sys.platform)
            
# Размер числа в байтах
print("Размер int:", sys.getsizeof(0), "байт")

5. Установленные модули

sys.modules — это словарь, который содержит информацию о всех загруженных модулях. Вы можете использовать его для получения информации о загруженных модулях или для повторного импорта.


import sys

# Список загруженных модулей
print("Загруженные модули:")
for module in sys.modules:
    print(module)
2
Задача
Модуль 1: Python Core, 8 уровень, 7 лекция
Недоступна
Работа с директориями.
Работа с директориями.
2
Задача
Модуль 1: Python Core, 8 уровень, 7 лекция
Недоступна
Платформа.
Платформа.
Комментарии (17)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Mongoose Уровень 16
22 декабря 2025
import platform os_name = platform.system() print("Operating System:", os_name) Почему выдаёт Linux?
7 сентября 2025
Добавил обработку исключений, если папка вдруг уже существует.

import os

files = os.listdir(".")
print(files)

try:
    os.mkdir('test_directory')
except FileExistsError:
    print("Невозможно создать файл, так как он уже существует: 'test_directory'")

os.chdir("test_directory")

with open("test_file.txt", "w") as file:
    file.write("Hello, World!")

with open("test_file.txt", "r") as file:
    my_file = file.read()
    print(my_file)

os.remove("test_file.txt")
os.chdir('..')
os.rmdir("test_directory")

files = os.listdir(".")
print(files)
shinobi Уровень 19
30 июля 2025
Я не понимаю, в чем логика: 1. Автор любит в лекции писать примеры, которые 1в1 являются ответом для заданий 2. При этом автор частенько путает уровни, лекции с одних уровней пихает в другие и ничем и никак это не объясняет, ему плевать 3. При этом всплывают иногда лекции с заданиями, для которых не было никакого материала ещё, я так полагаю, потому что лекция будет значительно дальше по курсу, например импорт тайма или вот создание текстового документа и запись в нём. Вопрос: Курс купило много людей (если судить по пайчарму), заработано с курса больше 5-ти миллионов рублей (если считать по минимуму), неужели за 5 миллионов рублей допускается такая халтура и халатность? Особенно на фоне курса по джаве, который сделан ХОРОШО? Если кто-то напишет: "теории для задания нет, потому что в реальной жизни программисты гуглят и обучаются постоянно" Окей, я согласен, но нахера я заплатил деньги за курс, если ищу всё сам? Я мог бы и бесплатно это сделать, сам искать теорию, сам искать задачи к ним, или делать как автор этого курса - писать лекции и примеры на пару с нейронкой
Vlad Уровень 15
20 октября 2025
Автор не перепутал задачи, я по приколу написал чату:"Дашь мне 3 задачи на декораторы" - а он мне выдал 🥉 Задача 1 — Логгер вызовов -> "Множество декораторов." 🥇 Задача 3 — Измеритель времени выполнения -> "Длительность работы." Считай что работа автора закончилась на настройке валидатора и изменении названия
Vlad Уровень 15
20 октября 2025
Видимо, Джава хорошо написан потому что курс 13 или 14 года. Страшно представить какой треш они запихнули в обновленный курс, если такая дичь происходит с курсом по питону
Slevin Уровень 1
1 июля 2025
Недостающая информация для первого задания:

#Запись в файл:

with open('text_file.txt', 'w') as file: 
    file.write('Hello Python')
# Закрывать не нужно, 'with open' сам закрывает файл, когда он прекращает использоваться     

#Атрибуты: (не все, кратко)
#'w' - запись (файл очищается), если файл не существует, он создается
#'r' - чтение, как правило указывать не нужно, это значение по-умолчанию
#'a' - дозапись (файл не очищается, курсор помещается в конец файла)

#Чтение из файла:
with open('text_file.txt') as file:
    my_file = file.read() # присваиваем переменной my_file строку (ВСЁ содержимое файла)
    print(my_file) #(вывод на экран) #можно конечно короче: print(file.read())
Tatiana Уровень 2
26 июня 2025

import os

os.mkdir('test_directory')

files = os.listdir(".")
print("Files and directories:", files)

os.chdir('test_directory/')

with open('test_file.txt', 'w') as file:
    file.write("Hello, World!")

with open('test_file.txt', 'r') as file:
    content = file.read()
    print(content)

file = os.listdir(".")
print("Files and directories:", file)

os.remove('test_file.txt')

os.chdir('..')

os.rmdir('test_directory')
Дмитрий Уровень 29
18 марта 2025
я не понимаю, тут лекции наобум фигачат, что за бред нам пытаются донести. Ладно, инфа хорошая, но подается невпопад. вроде как про декораторы речь была, и дататайм, а тут как это вообще появилось!?
Mr.Robot Уровень 21 Expert
7 марта 2025
Книжка "Automate the boring staff with python" спасла 1-е задание )
Zlyden Уровень 49
5 марта 2025
Первоначальное хорошее впечатление от курса начало сильно портиться за последние пару лекций. Это полный трэш
Николай Уровень 17
19 февраля 2025
Если кого успокоит, то встроенных библиотек всего примерно пару сотен. Ну и сторонних всего лишь несколько сотен тысяч библиотек. Будет что почитать на досуге
Japan_Dragon Уровень 32
6 февраля 2025
Просто откройте леккцию в инкогнито: https://javarush.com/quests/lectures/ru.javarush.python.core.lecture.level12.lecture02