지난 포스팅에서는 파이썬 표준 라이브러리인 webbrowser 을 통해 시스템 브라우저를 열어보는 방법과 파이썬 외부 라이브러리를 설치하는 pip 에 대해 알아보았습니다.
이번 포스팅에서는 파이썬 외부 라이브러리 Faker 에 대해 공부해 보도록 하겠습니다.
파이썬 외부 라이브러리
Faker
Faker 는 pip 을 사용하는 유용한 외부 라이브러리 중 하나입니다.
Faker 는 가짜 데이터를 생성해서 테스트를 해보고자 할 때 유용하게 사용되는 라이브러리입니다.
앞서 언급한 대로 외부 라이브러리는 pip 를 이용해서 설치해 주면 됩니다.
Faker 를 pip 를 사용해 설치해 보겠습니다.
Python
(py_study_31010) D:\Dropbox\02.My_Job\80.Study\01.Python\00.study_python_3.11.0\01.TEST>pip install Faker
Collecting Faker
Downloading Faker-18.7.0-py3-none-any.whl (1.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 36.1 MB/s eta 0:00:00
Requirement already satisfied: python-dateutil>=2.4 in c:\users\donnr\anaconda3\envs\py_study_31010\lib\site-packages (from Faker) (2.8.2)
Requirement already satisfied: six>=1.5 in c:\users\donnr\anaconda3\envs\py_study_31010\lib\site-packages (from python-dateutil>=2.4->Faker) (1.16.0)
Installing collected packages: Faker
Successfully installed Faker-18.7.0
Faker 사용해보기
아래처럼 테스트 데이터가 30건 이 필요하다고 하면 Faker 를 이용해 테스트 데이터를 만들어 볼 수 있습니다.
[(이름1, 주소1), (이름2, 주소2), ...(이름30, 주소30)]
fake.name()
아래 코드를 사용해 보겠습니다.
Python
>>> from faker import Faker
>>> fake = Faker()
>>> fake.name()
'Heather Fletcher'
>>>
Heather Fletcher fksms 이름을 쉽게 만들어 봤습니다.
한글 이름을 위해 ko-KR 을 전달해서 fake 객체를 생성해 보겠습니다.
Python
>>> fake = Faker('ko-KR')
>>> fake.name()
'정정희'
>>>
fake.address()
이제 주소도 만들어 보겠습니다.
Python
>>> fake.address()
'울산광역시 은평구 석촌호수50길'
>>>
이제 위의 코드를 바탕으로 이름과 주소를 쌍으로 하는 30 건의 데이터를 만들어 보겠습니다.
Python
>>> test_data = [(fake.name(), fake.address()) for i in range(30)]
>>> test_data
[('배아름', '충청남도 태백시 강남대길'), ('진영희', '대전광역시 동작구 봉은사73길'), ('이경숙', '충청북도 안산시 테헤란12로'), ('김아름', '전라북도 보은군 영동대길'), ('문도윤', '충청남도 고양시 일산동구 테헤란길 (영일신마을)'), ('윤서현', '경기도 원주시 잠실거리 (도현이이마을)'), ('김숙자', '부산광역시 성동구 선릉가'), ('강영희', '강원도 가평군 테헤란904가'), ('박윤서', '서울특별시 관악구 백제고분거리'), ('고재호', '경상남도 성남시 분당구 선릉1로'), ('윤정수', '경상북도 부천시 소사구 잠실길 (채원김김면)'), ('홍예준', '제주특별자치도 과천시 석촌호수27로 (은경이읍)'), ('이하윤', '부산광역시 동 작구 양재천64길 (옥자이읍)'), ('김승민', '경상남도 고양시 일산서구 삼성거리 (숙자김마을)'), ('곽예은', '충청북도 괴산군 도산대76거리 (상철강마을)'), ('오정자', '부산광역시 강서구 석촌호수818가'), ('김영일', '광주광역시 동구 오금거리'), ('김광수', '경상남도 용인시 강남대4로'), ('문민준', '강원도 안양시 동안구 봉은사가 (은경박면)'), ('강성수', '충청북도 수원시 영통구 봉은사거리'), ('고예진', '인천광역시 서대문구 잠실95거리 (선영김리)'), ('최지혜', '광주광역시 서대문구 잠실길 ( 준영권김면)'), ('최성민', '전라남도 인제군 선릉거리 (지은이마을)'), ('류윤서', '강원도 예산군 봉은사로'), ('황현주', '제주특별자치도 논산시 가락길'), ('유동현', '제주특별자치도 파주시 반포대거리 (지우이리)'), ('배지훈', '전라남도 천안시 동 남구 테헤란0로'), ('김민서', '전라남도 오산시 삼성가 (준혁김마을)'), ('구영미', '세종특별자치시 종로구 강남대3가'), ('김예준', '광주광역시 성동구 삼성거리 (건우김리)')]
>>>
기가 막히게 만들어지는 걸 볼 수가 있습니다.
Faker 활용
앞선 코드에서는 name 과 address 만 사용을 했지만 이 외에도 많은 항목들이 있습니다.
대표적인 것들 몇 가지를 알아보겠습니다.
- fake.name() : 이름
- fake.address() : 주소
- fake.postcode() : 우편 번호
- fake.country() : 국가명
- fake.company() : 회사명
- fake.job() : 직업명
- fake.phone_number() : 휴대폰 번호
- fake.email() : 이메일 주소
- fake.user_name() : 사용자명
- fake.pyint(min_value=0,max_value=100) : 0 부터 100 사이의 임의의 숫자
- fake.ipv4_private() : IP 주소
- fake.text() : 임의의 문장
- fake.catch_phrase() : 한글 임의의 문장
- fake.color_name() : 색상명
- 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
