У цій статті ми поговоримо про бібліотеку Faker, яка дозволяє генерувати фейкові дані. Ця бібліотека може бути корисною при тестуванні, заповненні баз даних і т. д.
Встановлення
Перед початком використання функцій даної бібліотеки її треба встановити. Команди для встановлення цієї бібліотеки для різних ОС наведені нижче.
Windows:
pip install faker
MacOS:
pip3 install faker
Linux:
pip3 install --user faker
Можливості бібліотеки
Тепер настав час розглянути можливості даної бібліотеки. Вона здатна генерувати великий спектр інформації і зараз ми поглянемо на реалізацію її функцій.
Функція | Опис |
---|---|
| Генерує випадкове ім’я |
| Генерує випадкове прізвище |
| Генерує випадкове чоловіче ім’я |
| Генерує випадкове жіноче ім’я |
| Генерує випадкове чоловіче прізвище |
| Генерує випадкове жіноче прізвище |
| Генерує ім’я та прізвище |
| Генерує назву випадкової країни |
| Генерує назву випадкового міста |
| Генерує випадковий текст |
| Генерує випадкову адресу електронної пошти |
| Генерує випадкове значення широти |
| Генерує випадкове значення довготи |
| Генерує випадкову адресу сайту |
| Генерує випадкову фізичну адресу проживаня |
| Генерує випадкову IP адресу версії 4 |
| Генерує випадкову мак адресу |
Приклади застосування функцій
Приклад використання функцій 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
Як бачимо, дані відображаються на український лад.
На цьому все. Насправді ця бібліотека має набагато більше функцій, ніж я показав у цій статті. Сподіваюсь ця стаття сподобається вам! Якщо ви хочете читати більше матеріалу від мене — долучайтеся до мого телеграм каналу. Дякую за увагу!