Генерація фейкових даних з Faker

У цій статті ми поговоримо про бібліотеку Faker, яка дозволяє генерувати фейкові дані. Ця бібліотека може бути корисною при тестуванні, заповненні баз даних і т. д.

Встановлення

Перед початком використання функцій даної бібліотеки її треба встановити. Команди для встановлення цієї бібліотеки для різних ОС наведені нижче.

Windows:

pip install faker

MacOS:

pip3 install faker

Linux:

pip install faker

Можливості бібліотеки

Тепер настав час розглянути можливості даної бібліотеки. Вона здатна генерувати великий спектр інформації і зараз ми поглянемо на реалізацію її функцій.

Функція

Опис

first_name()

Генерує випадкове ім’я

last_name()

Генерує випадкове прізвище

first_name_male()

Генерує випадкове чоловіче ім’я

first_name_female()

Генерує випадкове жіноче ім’я

last_name_male()

Генерує випадкове чоловіче прізвище

last_name_female()

Генерує випадкове жіноче прізвище

name()

Генерує ім’я та прізвище

country()

Генерує назву випадкової країни

city()

Генерує назву випадкового міста

text()

Генерує випадковий текст

email()

Генерує випадкову адресу електронної пошти

latitude()

Генерує випадкове значення широти

longitude()

Генерує випадкове значення довготи

url()

Генерує випадкову адресу сайту

address()

Генерує випадкову фізичну адресу проживаня

ipv4()

Генерує випадкову IP адресу версії 4

mac_adress()

Генерує випадкову мак адресу

Приклади застосування функцій

Приклад використання функцій first_name(), last_name(), first_name_male(), first_name_female(), name(), country(), city(), latitude(), longitude(), address(), ipv4(), mac_adress().

Тут ми спочатку імпортували бібліотеку, а далі створили об’єкт fake.

from faker import Faker

fake = Faker()

Створили функцію, яка генерує фейкові дані. Конкретно у цій функції ми згенерували ім’я та прізвище чоловічої особи:

def male_person_info():
    print("Ім'я:", fake.first_name_male())
    print("Прізвище:", fake.last_name_male())
    print("Країна:", fake.country())
    print("Місто:", fake.city())
    print("Адреса:", fake.address())
    print("Широта та довгота:", fake.latitude(), fake.longitude())
    print("IP адреса:", fake.ipv4())
    print("Mac адреса:", fake.mac_address())


male_person_info()

Отримали такий результат:

Ім'я: Brandon
Прізвище: Cannon
Країна: Egypt
Місто: Chelseafort
Адреса: 351 Martin Circle Suite 766
Joshuamouth, CT 11106
Широта та довгота: -43.8221095 -80.241553
IP адреса: 153.50.143.162
Mac адреса: 38:09:21:5f:3e:97

Тепер згенеруємо все тіж дані, але для жіночої особи. Для цього ми створили окрему функцію:

def female_person_info():
    print("Ім'я:", fake.first_name_female())
    print("Прізвище:", fake.last_name_female())
    print("Країна:", fake.country())
    print("Місто:", fake.city())
    print("Адреса:", fake.address())
    print("Широта та довгота:", fake.latitude(), fake.longitude())
    print("IP адреса:", fake.ipv4())
    print("Mac адреса:", fake.mac_address())


female_person_info()

У підсумку отримали такі дані:

Ім'я: Linda
Прізвище: Ramsey
Країна: Luxembourg
Місто: New Brianna
Адреса: 98035 Reyes Spring
Jennifermouth, VT 09997
Широта та довгота: -61.4782225 -56.086526
IP адреса: 145.77.94.128
Mac адреса: 16:0f:71:24:bb:4c

Також, як вже було зазначено раніше, можна просто генерувати ім’я та прізвище або одразу повне ім’я без прив’язки до конкретної статі завдяки тим же функціям first_name(), last_name(), name(). Нижче наведений черговий приклад:

print("Ім'я:", fake.first_name())
print("Прізвище:", fake.last_name())

print("Повне ім'я:", fake.name())

Результат:

Ім'я: Judy
Прізвище: Lopez

Повне ім'я: Todd Allen

Далі розглядаємо функції text(), email(), url(). Їх реалізацію можна побачити тут:

print(f"Текст: {fake.text()}\n"
      f"================================\n"
      f"Електронна пошта: {fake.email()}\n"
      f"Веб адреса: {fake.url()}")

Отриманий результат:

Текст: Available address miss. Especially for time nice rate find fire.
Tonight different dog operation box TV benefit add. Feeling owner three owner window enter show. Whatever what owner.
================================
Електронна пошта: [email protected]
Веб адреса: http://www.williams-williamson.com/

Тепер хочу показати одну особливість — у бібліотеці можна зробити локалізацію. Тобто щоб дані відображалися саме обраною нами мовою. Таким чином, передавши у Faker() в якості параметра строку “uk_UA“ ми отримаємо українську локалізацію. Це показано нижче:

from faker import Faker

fake = Faker("uk_UA")

Повернемося до наших функцій male_person_info() та female_person_info(), щоб поглянути на їх результати з українською локалізацією.

Ім'я: Євген
Прізвище: Артюшенко
Країна: Лесото
Місто: хутір Новоград-Волинський
Адреса: вулиця Палубний, буд. 8, Лубни, 23328
Широта та довгота: -24.4888925 105.932463
IP адреса: 138.15.83.170
Mac адреса: 66:a1:4d:81:8f:6f
Ім'я: Ірина
Прізвище: Аронець
Країна: Болівія
Місто: місто Білогірськ
Адреса: узвіз Мала Садова, буд. 635 кв. 6, Бучач, 54468
Широта та довгота: -80.961546 2.427819
IP адреса: 74.93.171.177
Mac адреса: 16:40:7d:18:29:a4

Як бачимо, дані відображаються на український лад.

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

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Mystique Lord
Mystique Lord@nocturnal_reader

Нічний читач

60Прочитань
15Автори
3Читачі
На Друкарні з 14 липня

Більше від автора

  • Додаткові властивості словників у Python

    Сьогодні ми поговоримо про деякі додаткові властивості словників, які надають бібліотеки bidict та frozendict. У цій статті ми розглянемо обидві бібліотеки та їх функції по черзі.

    Теми цього довгочиту:

    Програмування
  • Хешування даних за допомогою bcrypt

    У цьому матеріалі мова піде про бібліотеку brcypt та те, як її використовувати на приктиці. Ми поговоримо про її призначення, розберемо функціонал і тд.

    Теми цього довгочиту:

    Програмування
  • Як приховати введення у терміналі з pwinput?

    У сьогоднішній статті ми будемо розбирати бібліотеку pwinput, яка дозволяє приховувати введенні користувачем символи у терміналі. Тож, перейдемо до справи, розглянувши функціонал даної бібліотеки.

    Теми цього довгочиту:

    Програмування

Вам також сподобається

  • Функціональна залежність у БД

    Пост про функціональну залежність в реляційних множинах. Визначення. Повторення значень в атрибуті. Приклад з п'ятьма атрибутами. Тривіальна залежність. Замикання. залежностей та атрибутів. Незвідні множини. Використання

    Теми цього довгочиту:

    Програмування
  • 5 уроків, які я виніс з 2 півотів на Scrimmage

    Коли ви робите інвестиції, кожен ваш грошовий рух вимірюється і перевіряється, але коли ви робите ставки на спорт, ви покладаєтеся тільки на своє внутрішнє чуття, чому так? Чому б нам не змінити це і не дати кожному гравцю на спортивних ставках силу інвестора?

    Теми цього довгочиту:

    Стартап

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається

  • Функціональна залежність у БД

    Пост про функціональну залежність в реляційних множинах. Визначення. Повторення значень в атрибуті. Приклад з п'ятьма атрибутами. Тривіальна залежність. Замикання. залежностей та атрибутів. Незвідні множини. Використання

    Теми цього довгочиту:

    Програмування
  • 5 уроків, які я виніс з 2 півотів на Scrimmage

    Коли ви робите інвестиції, кожен ваш грошовий рух вимірюється і перевіряється, але коли ви робите ставки на спорт, ви покладаєтеся тільки на своє внутрішнє чуття, чому так? Чому б нам не змінити це і не дати кожному гравцю на спортивних ставках силу інвестора?

    Теми цього довгочиту:

    Стартап