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

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

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

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

Windows:

pip install faker

MacOS:

pip3 install faker

Linux:

pip3 install --user 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

Нічний читач

6Прочитань
9Автори
0Читачі
На Друкарні з 14 липня

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

  • Скорочення посилань за допомогою бібліотеки pyshorteners

    У цій статті ви дізнаєтеся як генерувати скороченні посилання за допомогою бібліотеки pyshorteners. Ми розглянемо функціонал бібліотеки та використаємо її на практиці.

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

    Програмування
  • Що таке Colorama та як її використовувати?

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

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

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

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

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

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

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