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