Найти в Дзене
Simple Prog

Полезная информация при написании кода на Python

Всем привет, сегодня расскажу о полезных фактах при работе с кодом — от библиотек и модулей до символов экранирования Символы экранирования При выводе строки иногда появляются различные непонятные нам символы вроде '\n'. Подобные записи всегда начинаются с '\' (обратный слеш), и могут состоять из нескольких символов, но Python считает их за один. Если эту тему изучить, то можно делать интересные вещи в одну строчку, либо красиво оформлять вывод. Вот пример самых частых символов: Но для тех, кто этого не знает могут возникнуть проблемы. Например, если вы попробуете задать адрес на вашем компьютере. А он состоит из символов '/', вам интерпретатор выдаст ошибку. Можно, конечно, воспользоваться нашим знанием и написать, экранировав все слеши, но есть более простой способ отменить экранирование - поставить r перед строчкой. Модуль shutil Очень смешное название, но библиотека является мощным инструментом для обработки файлов. Программисты комбинируют os и shutil для достижения наиболее кра
Оглавление

Всем привет, сегодня расскажу о полезных фактах при работе с кодом — от библиотек и модулей до символов экранирования

Символы экранирования

Примеры экранирования
Примеры экранирования

При выводе строки иногда появляются различные непонятные нам символы вроде '\n'. Подобные записи всегда начинаются с '\' (обратный слеш), и могут состоять из нескольких символов, но Python считает их за один. Если эту тему изучить, то можно делать интересные вещи в одну строчку, либо красиво оформлять вывод.

Вот пример самых частых символов:

  • \\ - Сам символ обратного слеша (остается один символ \)
  • \' - Апостроф (остается один ')
  • \" - Кавычка (остается один символ ")
  • \n - Новая строка (перевод строки)
  • \r - Возврат каретки
  • \t - Горизонтальная табуляция

Но для тех, кто этого не знает могут возникнуть проблемы. Например, если вы попробуете задать адрес на вашем компьютере. А он состоит из символов '/', вам интерпретатор выдаст ошибку.

Можно, конечно, воспользоваться нашим знанием и написать, экранировав все слеши, но есть более простой способ отменить экранирование - поставить r перед строчкой.

Модуль shutil

Примеры работы с модулем shutil
Примеры работы с модулем shutil

Очень смешное название, но библиотека является мощным инструментом для обработки файлов. Программисты комбинируют os и shutil для достижения наиболее красивого и эффективного кода.

  • shutil.copyfileobj(fsrc, fdst) - копирует один файл в другой.
  • shutil.copymode(fsrc, fdst) - копирует права доступа из одного файла в другой.
  • shutil.copystat(fsrc, fdst) - копирует дату последнего доступа и изменения из одного файла в другой.

Библиотека позволяет так же работать с архивами:

  • shutil.get_archive_formats(), чтобы узнать доступные для работы архивы.

Модуль zipfile

Примеры работы с библиотекой zipfile
Примеры работы с библиотекой zipfile

Как говорилось ранее с zip может работать модуль shutil, но zipfile более многофункционален. С другой стороны он не так универсален и работает только с зипами. За все надо платить, не существует идеального способа для всего.

Для начала надо из zipfile импортировать ZipFile. И открыть файл ZipFile(file).

  • printdir() - вывод списка содержимого текстом для печати.
  • namelist() - вывод списка фалов списком.
  • open() - открыть файл внутри архива, далее работа проходит аналогично работе фалов.

Для практики на картинке показана программа выводящая красивый вложенный список файлов находящихся в архиве.

Больше возможностей можно узнать через help() или документацию.

Сборка .exe файлов — pyinstaller

Работа с pyinstaller
Работа с pyinstaller

Давайте немного отвлечемся от программирования и подумаем с кем бы поделится нашей красивой программой или игрой.

Если вы просто скопируете проект, то он не будет работать на других системах где нет установленного Python, а если есть, то возможно там отсутствуют нужные библиотеки. Но можно создать исполняемый файл exe, который запустится и без Python. Необходимо установить pyinstaller:

pip install pyinstaller

Затем перейти в командную строку, и перейти в нужную директорию с помощью команды cd. Далее напишем такой код:

--onefile --noconsole main.py

--onefile - означает, что будет только один исполняемый файл.

--noconsole - консоль не будет запускаться при открытии

main.py - файл, при запуске которого начинает работать ваша программа

В папке dist будет лежать нужный файл, остальные созданные папки можно удалить

Внимание! С помощью данного метода не получится скрыть ваш код, так же вы не получите прироста в скорости работы программы.

Библиотека colorama

Работа с colorama
Работа с colorama

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

Библиотеку надо установить:

pip install colorama

Colorama позволяет изменять сам цвет текста, а так же его фон и стиль цвета. На картинке мы не можем показать изменение фона, но вы можете опробовать сами.

Понравилась статья? Не забудь подписаться и оставить свое мнение в комментариях, обязательно прочту и отвечу.

Читайте также: