Архив метки: Python

Как использовать классы данных в Python

В этой статье будет рассмотрено руководство по использованию новых объектов «dataclass», включенных в Python 3.7 и более новые версии. Классы данных похожи на другие классы Python, но они специально разработаны для использования в качестве контейнеров данных и обеспечивают более чистый и короткий синтаксис для быстрого создания объектов данных. Если вы знаете об объектах namedtuple и использовали их в Python, вы можете определить их как изменяемые объекты типа namedtuple. Вы можете создавать новые экземпляры классов данных, как любой другой класс или объекты типа namedtuple, и получать доступ к их атрибутам, используя точечную нотацию.

 

Базовый синтаксис и использование

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

class StockInHand:

def __init__(self, apples, oranges, mangoes):

self.apples = apples

self.oranges = oranges

self.mangoes = mangoes



stock = StockInHand(40, 50 , 60)

print (stock.apples, stock.oranges, stock.mangoes)

 

В приведенном выше примере кода был создан новый класс с именем «StockInHand» с определенным внутри него методом «__init__». Метод __init__ автоматически вызывается всякий раз, когда вы создаете новый экземпляр класса StockInHand. В этом случае метод __init__ был определен с некоторыми обязательными аргументами. Таким образом, вы не можете создать новый экземпляр StockInHand без некоторых значений необходимых аргументов. Аргумент «self» предоставляет ссылку на экземпляр класса, поэтому вы можете использовать его для ссылки на любую переменную или метод внутри класса, если эти переменные и методы были определены с использованием аргумента self. Аргумент self действует как удобный инструмент, и его можно назвать как угодно. Вы также можете полностью его опустить.

После выполнения приведенного выше примера кода вы должны получить следующий результат:

40 50 60

 

Тот же класс можно определить с помощью класса данных следующим образом:

from dataclasses import dataclass



@dataclass

class StockInHand:

apples: int

oranges: int

mangoes: int



stock = StockInHand(40, 50 , 60)

print (stock.apples, stock.oranges, stock.mangoes)

 

Первый оператор импортирует декоратор «dataclass» из модуля «dataclasses». Декораторы можно использовать для изменения поведения объектов Python без их фактического изменения. В этом случае декоратор классов данных предопределен и поступает из модуля классов данных. Чтобы определить класс данных, вам необходимо присоединить декоратор класса данных с помощью символа «@» к классу Python, как показано в приведенном выше примере кода. В следующих нескольких операторах переменные в классе данных определяются с помощью подсказок типа, чтобы указать, к какому типу они относятся. Подсказки типа были введены в Python 3.6 и определены с помощью символов «:» (двоеточие). Вы можете создать новый экземпляр класса данных, как любой другой класс Python. После выполнения приведенного выше примера кода вы должны получить следующий результат:

40 50 60

 

Обратите внимание, что если метод в классе данных возвращает значение, вы можете назначить ему подсказку типа, используя символ «->». Вот пример:

from dataclasses import dataclass



@dataclass

class StockInHand:

apples: int

oranges: int

mangoes: int



def total_stock(self) -> int:

return self.apples + self.oranges + self.mangoes



stock = StockInHand(40, 50 , 60)

print (stock.total_stock())

 

Был создан новый метод под названием «total_stock», и ему была назначена подсказка типа с использованием зарезервированного ключевого слова «int» для указания типа возвращаемого значения. После выполнения приведенного выше примера кода вы должны получить следующий результат:

150

 

Переменные в объектах класса данных могут иметь значения по умолчанию

Вы можете назначить значения по умолчанию членам классов данных после подсказок типа. Вот пример:

from dataclasses import dataclass



@dataclass

class StockInHand:

apples: int = 40

oranges: int = 50

mangoes: int = 60



def total_stock(self) -> int:

return self.apples + self.oranges + self.mangoes



stock = StockInHand()

print (stock.total_stock())

 

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

150

 

Члены Dataclass изменчивы

Классы данных изменяемы, поэтому вы можете изменить значение его членов, получив на них ссылку. Ниже приведен пример кода:

from dataclasses import dataclass



@dataclass

class StockInHand:

apples: int = 40

oranges: int = 50

mangoes: int = 60



def total_stock(self) -> int:

return self.apples + self.oranges + self.mangoes



stock = StockInHand()

stock.apples = 100

print (stock.total_stock())

 

Значение переменной apples было изменено перед вызовом метода total_stock. После выполнения приведенного выше примера кода вы должны получить следующий результат:

210

 

Создание класса данных из списка

Вы можете создать класс данных программно, используя метод make_dataclass, как показано в примере кода ниже:

import dataclasses



fields = [("apples", int, 40), ("oranges", int, 50), ("mangoes", int, 60)]

StockInHand = dataclasses.make_dataclass(

"StockInHand", fields,

namespace={'total_stock': lambda self: self.apples + self.oranges + self.mangoes}

)



stock = StockInHand()

stock.apples = 100

print (stock.total_stock())

 

Метод make_dataclass принимает имя класса и список полей-членов в качестве двух обязательных аргументов. Вы можете определить элементы как список кортежей, где каждый кортеж содержит имя переменной, подсказку о ее типе и значение по умолчанию. Определение значения по умолчанию не требуется, вы можете опустить его, чтобы не назначать значение по умолчанию. Необязательный аргумент пространства имен принимает словарь, который можно использовать для определения функций-членов с использованием пар ключ-значение и лямбда-функций. Приведенный выше код в точности эквивалентен определению следующего класса данных вручную:

from dataclasses import dataclass



@dataclass

class StockInHand:

apples: int = 40

oranges: int = 50

mangoes: int = 60



def total_stock(self):

return self.apples + self.oranges + self.mangoes



stock = StockInHand()

stock.apples = 100

print (stock.total_stock())

 

После выполнения двух приведенных выше примеров кода вы должны получить следующий результат:

210

 

Зачем использовать класс данных вместо класса?

Вы можете задаться вопросом, зачем использовать классы данных, если они почти такие же, как другие классы Python? Одним из основных преимуществ использования классов данных является их краткость. Вы можете создавать классы данных, используя чистые и минимальные сокращения, без особого шаблонного кода. Они специально разработаны для использования в качестве контейнеров данных, где к переменным можно легко получить доступ с помощью точечной нотации, хотя вы также можете использовать классы данных как полноценные классы. Проще говоря, если вы хотите использовать класс Python только для того, чтобы использовать его в качестве хранилища данных, dataclass кажется лучшим выбором.

 

Заключение

Классы данных в Python предоставляют минимальный способ быстрого создания классов Python, предназначенных для использования в качестве хранилищ данных. Вы можете получить ссылки на члены классов данных с использованием точечной нотации, и они особенно полезны, когда вы ищете словари, такие как пары ключ-значение, к которым можно получить доступ с помощью точечной нотации.



2021-10-06T08:27:58
Python

Как добавить в начало списка в Python

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

  1. Функция List.Insert
  2. Метод оператора сложения
  3. Метод нарезки
  4. Итеративный метод распаковки

Итак, давайте подробно обсудим каждый метод.

 

Метод 1. Использование функции list.insert

Первый метод, который мы собираемся обсудить, — это функция вставки. Эта функция принимает два параметра: index_position и значение. В приведенном ниже коде мы вставляем переменную val в позицию индекса 0:

#python list_insert_method.py



if __name__ == '__main__':



lst = [12, 33, 45, 56,47]

val = 1



lst.insert(0, val)

print(lst)  



# prints [1, 12, 33, 45, 56, 47]

 

Вывод: python list_insert_method.py

[ 1 , 12 , 33 , 45 , 56 , 47 ]

 

Строка 5: Мы создали список целых чисел (lst).

Строка 6: Мы создали переменную val и присвоили ей значение 1, которое мы хотим вставить в начало списка.

Строка 8: Теперь мы вызываем метод insert и передаем два параметра (index_position, value). Первый параметр — это index_position, куда мы хотим вставить значение, поэтому мы оставляем его 0. Другой параметр — это значение, которое мы хотим вставить в index_position 0.

Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.

 

Метод 2: использование метода оператора сложения (+)

В этом методе мы собираемся изменить тип данных значения с целого числа на список, который мы хотим вставить в первую позицию списка. После этого мы используем оператор сложения и объединяем первый элемент списка, который является значением, с другим списком, как показано ниже в программе:

#python addition_operator_method.py



if __name__ == '__main__':



lst = [12, 33, 45, 56,47]

val = 1



lst = [val] + lst

print(lst)  # prints [1, 12, 33, 45, 56, 47]

 

Вывод: python addition_operator _method.py

[ 1 , 12 , 33 , 45 , 56 , 47 ]

 

Строка 8: Мы преобразуем значение в список, а затем с помощью оператора сложения добавляем первый список перед вторым.

Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.

 

Метод 3: использование метода среза

Другой метод, который мы собираемся обсудить, — это метод среза. Как мы знаем, list[: 1] напечатает элемент в позиции индекса 0, а list[: 2] напечатает два значения в позиции индекса 0 и 1. Поэтому любое значение, которое мы передаем в список слайсов [: n], будет print (n -1) элементов. Итак, если мы передадим список [: 0], он будет отображаться как пустой, потому что в списке нет такого значения индекса. Если мы вставим элемент в этот конкретный индекс, он добавится в начало списка, как показано в следующей программе:

# python slice_method.py



if __name__ == '__main__':



lst = [12, 33, 45, 56,47]

val = 1

print(lst[:0])

lst[:0] = [val]

print(lst)  # prints [1, 12, 33, 45, 56, 47]

 

Вывод: python slice_method.py

[ ]

[ 1 , 12 , 33 , 45 , 56 , 47 ]

 

Строка 7 : Мы печатаем lst[: 0], чтобы проверить, какие значения мы получим. По выходным данным print[] мы можем ясно сказать, что это пустой список.

Строка 8 : Мы присвоили список val пустому списку, как описано выше.

Строка 9 : Оператор печати показывает, что наш val успешно вставлен в начало списка.

 

Метод 4: Использование итеративного метода распаковки

Последний метод, который мы собираемся обсудить, — это оператор звездочки (*). Это итеративный метод, и он также вставляет значение в начало списка.

# python unpacking_operator_method.py



if __name__ == '__main__':



lst = [12, 33, 45, 56,47]

val = 1

print(*lst)

lst = [val, *lst]

print(lst)  # prints [1, 12, 33, 45, 56, 47]

 

Вывод: python unpacking_operator_method.py

12 33 45 56 47

[ 1 , 12 , 33 , 45 , 56 , 47 ]

 

Строка 7: Когда мы печатаем список звездочек, мы получаем все элементы, как показано на выходе. Таким образом, мы можем сказать, что он повторяемый.

Строка 8: Мы сохранили val и * list вместе в списке, а затем назначили его другому списку.

Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.

 

Заключение

Мы показали вам различные методы добавления элемента в начало списка. Мы видели разные методы, такие как Insert, Addition(+) Operator, Slice и Unpacking Asterisk. Все методы очень просты в использовании, но вместе с тем мы должны заботиться о времени обработки. Потому что, если данных меньше, нас это может не волновать. Однако, если у нас есть миллиарды данных, это может иметь значение. Исходя из этого, лучшим методом обработки является метод вставки.



2021-09-27T23:01:55
Python

Что должен знать аналитик данных?

Аналитика данных –это прикладной предмет, объединяющий статистику, математику, систему управления базами данных, информатику, а также навыки, связанные с предметной областью. Специалисту анализа данных нужно обладать некоторыми знаниями обо всех сферах, а также быть экспертом в нескольких из них. Одно из основных отличий аналитики от ИТ заключается в том, что специалисту по данным нужно хорошо понимать продукт.

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

 

В каких отраслях нужна аналитика данных?

Область науки о данных привлекает профессионалов из различных секторов, объединяющих как ИТ, так и не ИТ, поскольку возможности роста в некоторых ранее бурно развивающихся отраслях со временем стали очень ограниченными из-за быстрых преобразований в бизнес-сценариях. Сдвиг парадигмы в распространенных технологиях в деловом мире VUCA (этим термином обозначается неопределенность и быстрая изменчивость всех явлений в настоящем мире) потребовал появления новых технологий и наборов навыков для поддержки в новую эру. Для этого необходимо, чтобы многие профессионалы, обладающие навыками в области устаревших ИТ-технологий, были переведены на использование аналитики и анализа данных нового поколения. Возникает вопрос, как кто-то с традиционными знаниями или новичок из секторов, не связанных с ИТ, может быстро вооружиться навыками Data Science. Эта статья должна пролить свет на эту часть.

Как обсуждалось ранее, Data Science представляет собой объединение различных областей. Со временем кто-то, работающий в этой сфере, будет получать все больше и больше знаний, однако, каковы базовые минимальные навыки, необходимые для быстрого старта? На это нет прямого ответа. Тем не менее, здесь представлены некоторые идеи, которые могут помочь начинающим энтузиастам аналитики определить приоритеты для продвижения по карьерной лестнице и одновременно сформировать свои карьерные цели.

 

Какие знания требуются от аналитика данных?

Основные требования к этой профессии можно посмотреть в соответствующих вакансиях или программах онлайн обучения. Для удобства вы можете использовать подборку онлайн-курсов по аналитике данных на этом сайте https://kursberry.ru/category/online-kursy-po-analitike для того, чтобы подробнее ознакомиться с учебными материалами.

Excel — это старая рабочая лошадка, удовлетворяющая 70% потребностей анализа данных уже более полутора десятилетий. Некоторые функции Excel, такие, как Goal Seek, Pivot Table и т. д., принесли огромную пользу бизнесу для получения полезной информации из большого массива данных. Чтобы начать карьеру в аналитике, необходимо знать все полезные функции Excel.

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

Получение знаний в этих двух областях откроет путь к переходу на следующий уровень.



Выводная статистика и язык программирования

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

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

 

Применение знаний на практике и машинное обучение

Исследовательский анализ данных. Отсюда начинающие аналитики начнут работать с реальными бизнес-данными и получат идеи о том, как использовать полученные статистические и программные знания для решения реальных проблем. Аналитики получат базовые навыки исследовательского анализа данных, включая вменение недостающих данных, обнаружение и удаление выбросов, преобразование данных и уменьшение размерности. Фундамент в этой теме проложит путь к следующему уровню решения проблем.

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

 

Где можно обучиться на аналитика данных?

Если вы планируете перейти на должность аналитика данных, но не имеете знаний и опыта работы в отрасли, вы, вероятно, можете начать с онлайн-курсов по этой теме. Курс укрепит ваши фундаментальные знания предмета, а также позволит разрабатывать практические проекты, учиться и развивать свои навыки. Подобрать для себя подходящий онлайн-курс можно на маркетплейсе Курсберри.

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



2021-09-23T16:54:25
Python

Программирование в Linux. Самоучитель — 2-е изд.

Программирование в Linux. Самоучитель — 2-е изд.

Программирование в Linux. Самоучитель - 2-е изд.

Книга Программирование в Linux. Самоучитель — 2-е изд. Рассмотрены фундаментальные основы программирования в Linux: инструментарий, низкоуровневый ввод-вывод, многозадачность, файловая система, межпроцессное взаимодействие и обработка ошибок.

Книга главным образом ориентирована на практическое применение изложенных концепций. В ней есть все, что нужно начинающим, а углубленное изучение каждой темы делает ее ценной и для опытных программистов. Каждая тема проиллюстрирована большим числом примеров на языках С и С++ и Python, которые читатель сможет использовать в качестве образцов для собственных программ. На FTP-сервере издательства находятся исходные тексты программ.

Во втором издании материал актуализирован с учетом современных тенденций, добавлены 3 новые главы по программированию в Linux на языке Python, устранены замеченные ошибки.

Скачать с mail облака

2021-09-13T23:27:13Книги и Курсы

Python. Сборник упражнений

Python. Сборник упражнений

Книга: Python. Сборник упражнений Введение в язык Python с задачами и решениями. Сборник содержит 186 задач по программированию разной степени сложности. Для ряда упражнений изложены решения с подробным разбором фрагментов кода и синтаксических конструкций языка Python.

В книге представлен простой и понятный стиль программирования. Чтобы решить приведенные здесь задачи, достаточно базовых знаний языка Python. По мере изучения материала читатель отрабатывает навык использования таких
техник, как условные выражения, циклы, основные функции, списки, словари, рекурсия и работа с файлами.

Издание будет полезно студентам, делающим первые шаги в программировании и желающим продвинуться в этой области. Книга может использоваться и как вводный курс по Python, и как практикум, дополняющий учебник программирования на этом языке.

Скачать с mail облака

2021-09-11T09:18:52Книги и Курсы

Криптография с Python

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

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

 

Установка библиотеки криптографии

Cryptography — это библиотека на языке Python, которая предоставляет пользователям различные способы криптографии; одна из них — простое шифрование и дешифрование данных. Используйте следующую команду для установки библиотеки криптографии.

ubuntu@ubuntu:~$ pip install cryptography

Шифрование текста

Импорт Fernet

После успешной установки модуль fernet импортируется из библиотеки. Функция берет на себя ответственность как за шифрование, так и за расшифровку данных. Для этого создайте файл python и импортируйте модуль fernet из криптографической библиотеки следующим образом:

from cryptography.fernet import Fernet

Генерация ключа

Теперь сгенерируйте ключ аутентификации, определив функцию или просто используя генератор fernet в Python. Функция Fernet.generate_key() сгенерирует ключ для шифрования и дешифрования. Добавьте в код следующую строку:

>> key = Fernet.generate_key()

 

Теперь будет создан экземпляр класса Fernet с использованием сгенерированного ключа.

>> fernet= Fernet(key)

Шифрование текстовой строки

Теперь для шифрования текста достаточно нескольких строк кода. Добавьте следующие строки, чтобы зашифровать текст.

>> message = “This text will be encrypted”



>> encrypted_message= fernet.encrypt(message.encode())



>> print(‘исходная текстовая строка:’, message)



>> print(‘сообщение после шифрования:’ encrypted_message)

 

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

$python main. py

original text string: This text will be encrypted message after encryption: gAAALI2cFS8dTm87KKKadrptluse5CM4t9_

 

Расшифровка текстовой строки

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

Следовательно, для беспрепятственного дешифрования модули Fernet также обеспечивают простую функцию дешифрования. Добавление этих двух строк в ваш файл python плавно расшифрует одно и то же сообщение до его исходной формы.

decrypted_message=fernet.decrypt(encrypted_message).decode()



print(‘расшифрованная строка текста:’, decrypted_message )

 

В приведенных выше строках кода используется тот же экземпляр Fernet, который использует ключ, сохраненный в памяти программы, для дешифрования. Функция fernet.decrypt() возвращает закодированную строку после расшифровки, как она была закодирована до шифрования. Теперь функция декодирования возвращает закодированную строку в исходную форму.

 

Шифрование файлов

Как и при шифровании текста, импортируйте модуль fernet для шифрования файлов и генерации ключей. Импортируйте модуль fernet из библиотеки Cryptography.

from cryptography.fernet import Fernet

Генерация ключей

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

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

>> key = Fernet.generate_key()



>> with open('keyfile.key', 'wb') as keyfile:



keyfile.write(key)

 

Этот код сгенерирует случайную буквенно-цифровую строку и сохранит ее в файле keyfile.key.

 

Шифрование

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

>> with open('keyfile.key', 'rb') as keyfile:



>> key= keyfile.read()

 

Использование ключа для экземпляра fernet:

>> fernet= Fernet(key)

 

Откройте и прочтите файл, который нужно зашифровать, и зашифруйте данные в файле с помощью шифрования Fernet:

>> with open('list.csv', 'rb') as original_file:



original_data = original_file.read()



>> Encrypted_data= fernet.encrypt(original_data)

 

Теперь откройте файл в режиме записи и запишите зашифрованные данные обратно:

>> with open('list.csv', 'wb') as encrypted_file:



encrypted_file.write(encrypted_data)

 

При выполнении приведенного выше кода исходные данные файла заменяются массивом буквенно-цифровых строк.

 

Расшифровка файла

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

>> fernet= Fernet(key)



>> With open('list.csv', 'rb') as encrypted_file:



encrypted_data = encrypted_file.read()



>> decrypted_data = fernet.decrypt(encrypted_data)



>> with open('list.csv', 'wb') as decrypted_file:



decrypted_file.write(decrypted_data)

Заключение

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



2021-09-01T10:02:29
Python