Простой способ сгенерировать тестовые данные для любой ситуации.

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

Итак, что такое Faker?

Согласно их документации, Faker - это пакет Python, который генерирует для вас поддельные данные. Если вам нужно выполнить начальную загрузку базы данных, создать красивые XML-документы, заполнить вашу настойчивость для стресс-тестирования или анонимизировать данные, взятые из производственной службы, Faker для вас .

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

Установка и начало работы

Это так же просто, как установить с помощью pip:

pip install Faker

Оттуда мы создаем «генератор» Faker, с помощью которого мы будем делать множество запросов для наших сгенерированных данных:

from faker import Faker
fake = Faker()

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

Что, если бы вместо этого нам понадобились некоторые данные о сотрудниках компании - имена, адреса, должности и т. Д.?
Что ж, используя fake.profile (), вы можете создать профиль словаря:

Это довольно обширный список, но что, если вы хотите создать что-то более конкретное? Вы можете создать свой собственный профиль из стандартных провайдеров:

Посев

Если вы проводите тестирование, может быть полезно установить в генераторе начальное число для извлечения из того же набора данных.
Это так же просто, как использовать метод seed ():

from faker import Faker
fake = Faker()
Faker.seed(1234)

Локализация

Еще одна действительно интересная функция Faker - это возможность изменять локализацию генерируемого набора данных. По умолчанию это английский-американский, но есть и множество других вариантов. Например, что, если мы хотим создать кучу поддельных шведских имен? Без проблем!

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

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

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