Модули в Python. Модули в Python. Что такое модуль
![]()
|
Модули в Python. Что такое модуль? Модуль — это файл, содержащий код python, который вы хотите включить в проект. Документацию по модулям python на русском мы собрали в разделе Модули. Создание модуля Для того, чтобы создать модуль достаточно просто сохранить код в файл с расширением .py: Сохраним этот код в файл под названием mymodule.py def greeting(name): print("Привет, " + name) Использование модуля Теперь мы можем использовать только что созданный модуль, с помощью оператора import: Импортируем модуль под названием mymodule, и вызовем функцию приветствия: import mymodule mymodule.greeting("Андрей") Вывод: Привет, Андрей Примечание: Во время использования функции из модуля, синтаксис: module_name.function_name. Переменные в модулеМодуль может содержать функции, как уже описано, но также и переменные всех типов (массивы, словари, объекты и т. д.). Сохраним этот код в файл mymodule.py person1 = { "name": "Виктор", "age": 36, "country": "Россия" } Импортируем модуль с названием mymodule, и получим доступ к словарю person1: import mymodule a = mymodule.person1["age"] print(a) Вывод: 36 Имя модуляВы можете назвать файл модуля, как вам нравится, но важно, указать расширение файла .py Переименование модуляВы можете создать псевдоним при импорте модуля, используя ключевое слово as. import mymodule as mx a = mx.person1["age"] print(a) Вывод: 36 Встроенные модулиВ Python есть несколько встроенных модулей, которые вы можете импортировать, когда захотите. import platform x = platform.system() print(x) Вывод: Windows Использование функции dir()Существует встроенная функция для перечисления всех имен функций (или имен переменных) в модуле. Функция dir(). import platform x = dir(platform) print(x) Вывод: ['DEV_NULL', '_UNIXCONFDIR', '_WIN32_CLIENT_RELEASES', '_WIN32_SERVER_RELEASES', '__builtins__', '__cached__', '__copyright__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '__version__', '_default_architecture', '_dist_try_harder', '_follow_symlinks', '_ironpython26_sys_version_parser', '_ironpython_sys_version_parser', '_java_getprop', '_libc_search', '_linux_distribution', '_lsb_release_version', '_mac_ver_xml', '_node', '_norm_version', '_parse_release_file', '_platform', '_platform_cache', '_pypy_sys_version_parser', '_release_filename', '_release_version', '_supported_dists', '_sys_version', '_sys_version_cache', '_sys_version_parser', '_syscmd_file', '_syscmd_uname', '_syscmd_ver', '_uname_cache', '_ver_output', 'architecture', 'collections', 'dist', 'java_ver', 'libc_ver', 'linux_distribution', 'mac_ver', 'machine', 'node', 'os', 'platform', 'popen', 'processor', 'python_branch', 'python_build', 'python_compiler', 'python_implementation', 'python_revision', 'python_version', 'python_version_tuple', 're', 'release', 'subprocess', 'sys', 'system', 'system_alias', 'uname', 'uname_result', 'version', 'warnings', 'win32_ver'] Примечание: Функцию dir() можно использовать на всех модулях, включая те, которые вы создаете сами. Импорт из модуляВы можете импортировать модуль только частично, используя ключевое слово from def greeting(name): print("Привет, " + name) person1 = { "name": "Виктор", "age": 36, "country": "Россия" } Импортируем из модуля словарь person1: from mymodule import person1 print (person1["age"]) Вывод: 36 Примечание: При импорте с использованием ключевого слова from не используйте имя модуля при обращении к элементам. Пример: person1["age"], а не mymodule.person1["age"] №22 Даты в PythonДата в Python не является типом данных, но мы можем импортировать модуль с именем datetime для работы с датами в качестве объектов даты. Импортируем модуль даты и времени и покажем текущую дату: import datetime x = datetime.datetime.now() print(x) Вывод: 2018-12-23 16:04:39.093712 Вывод датыДата содержит год, месяц, день, час, минуту, секунду и микросекунду. У модуля datetime есть много методов для возврата информации об объекте даты. Вот несколько примеров, о которых вы узнаете позже в этом уроке Выведем год и день недели: import datetime x = datetime.datetime.now() print(x.year) print(x.strftime("%A")) Вывод: 2018 Sunday Создание объектов датыЧтобы создать дату, мы можем использовать класс datetime() — (конструктор) модуля datetime. Для класса datetime() требуется три параметра: год, месяц, день. import datetime x = datetime.datetime(2020, 5, 17) print(x) Вывод: 2020-05-17 00:00:00 Класс datetime () также принимает параметры для часовой и временной зоны (час, минута, секунда, микросекунда, часовой пояс), но они являются необязательными и имеют стандартное значение 0 (None для часового пояса). Метод strftime() Объект datetime имеет метод форматирования объектов даты в читаемые строки. Подробнее о работе со строками в python: Строки в python 3: методы, функции, форматирование Метод называется strftime() и принимает один параметр format, чтобы указать формат возвращаемой строки. Отобразим название месяца: import datetime x = datetime.datetime(2018, 6, 1) print(x.strftime("%B")) Вывод: June Таблица способов форматирования даты:
Файлы в python, ввод-выводЭта статья посвящена работе с файлами (вводу/выводу) в Python: открытие, чтение, запись, закрытие и другие операции. Файлы PythonФайл — это всего лишь набор данных, сохраненный в виде последовательности битов на компьютере. Информация хранится в куче данных (структура данных) и имеет название «имя файла» (filename). В Python существует два типа файлов: Текстовые Бинарные Текстовые файлыЭто файлы с человекочитаемым содержимым. В них хранятся последовательности символов, которые понимает человек. Блокнот и другие стандартные редакторы умеют читать и редактировать этот тип файлов. Текст может храниться в двух форматах: (.txt) — простой текст и (.rtf) — «формат обогащенного текста». Бинарные файлыВ бинарных файлах данные отображаются в закодированной форме (с использованием только нулей (0) и единиц (1) вместо простых символов). В большинстве случаев это просто последовательности битов. Они хранятся в формате .bin. Любую операцию с файлом можно разбить на три крупных этапа: Открытие файла Выполнение операции (запись, чтение) Закрытие файла Открытие файлаМетод open()В Python есть встроенная функция open(). С ее помощью можно открыть любой файл на компьютере. Технически Python создает на его основе объект. Синтаксис следующий: f = open(file_name, access_mode) Где, file_name = имя открываемого файла access_mode = режим открытия файла. Он может быть: для чтения, записи и т. д. По умолчанию используется режим чтения (r), если другое не указано. Далее полный список режимов открытия файла
ПримерСоздадим текстовый файл example.txt и сохраним его в рабочей директории. Следующий код используется для его открытия. f = open('example.txt','r') # открыть файл из рабочей директории в режиме чтения fp = open('C:/xyz.txt','r') # открыть файл из любого каталога В этом примере f — переменная-указатель на файл example.txt. Следующий код используется для вывода содержимого файла и информации о нем. >>> print(*f) # выводим содержимое файла This is a text file. >>> print(f) # выводим объект <_io.TextIOWrapper name='example.txt' mode='r' encoding='cp1252'> Стоит обратить внимание, что в Windows стандартной кодировкой является cp1252, а в Linux — utf-08. Закрытие файлаМетод close()После открытия файла в Python его нужно закрыть. Таким образом освобождаются ресурсы и убирается мусор. Python автоматически закрывает файл, когда объект присваивается другому файлу. Существуют следующие способы: Способ №1 Проще всего после открытия файла закрыть его, используя метод close(). f = open('example.txt','r') # работа с файлом f.close() После закрытия этот файл нельзя будет использовать до тех пор, пока заново его не открыть. Способ №2 Также можно написать try/finally, которое гарантирует, что если после открытия файла операции с ним приводят к исключениям, он закроется автоматически. Без него программа завершается некорректно. Вот как сделать это исключение: f = open('example.txt','r') try: # работа с файлом finally: f.close() Файл нужно открыть до инструкции try, потому что если инструкция open сама по себе вызовет ошибку, то файл не будет открываться для последующего закрытия. Этот метод гарантирует, что если операции над файлом вызовут исключения, то он закроется до того как программа остановится. Способ №3 Инструкция withЕще один подход — использовать инструкцию with, которая упрощает обработку исключений с помощью инкапсуляции начальных операций, а также задач по закрытию и очистке. В таком случае инструкция close не нужна, потому что with автоматически закроет файл. Вот как это реализовать в коде. with open('example.txt') as f: # работа с файлом Чтение и запись файлов в PythonВ Python файлы можно читать или записывать информацию в них с помощью соответствующих режимов. Ф |
| |
file.close() | закрывает открытый файл |
file.fileno() | возвращает целочисленный дескриптор файла |
file.flush() | очищает внутренний буфер |
file.isatty() | возвращает True, если файл привязан к терминалу |
file.next() | возвращает следующую строку файла |
file.read(n) | чтение первых n символов файла |
file.readline() | читает одну строчку строки или файла |
file.readlines() | читает и возвращает список всех строк в файле |
file.seek(offset[,whene]) | устанавливает текущую позицию в файле |
file.seekable() | проверяет, поддерживает ли файл случайный доступ. Возвращает True, если да |
file.tell() | возвращает текущую позицию в файле |
file.truncate(n) | уменьшает размер файл. Если n указала, то файл обрезается до n байт, если нет — до текущей позиции |
file.write(str) | добавляет строку str в файл |
file.writelines(sequence) | добавляет последовательность строк в файл |