페이커???
가짜 데이터!
가짜 데이터, 왜 필요할까?
데이터가 많은 상황을 염두해 둔 기능을 구현할 때
이것을 구현해보고 싶어서!
기본적으로 제공하는 기능이다!
실습
가상환경을 킨다.
$ source myvenv/bin/activate
faker를 설치한다.
$ pip install faker
최상위 폴더에
fake.py
를 만들자.여기서 주의해야하는점. 패키지 이름과 동일하게 파이썬 파일을 만들면 에러가 뜬다.
faker import 하자.
# fake.py from faker import Faker
이 페이커 객체의 메소드로 부터 어떤 종류의 가짜 데이터를 뽑아낼지 결정이 가능하다.
# fake.py from faker import Faker myfake = Faker() myfake.name() myfake.address() myfake.text() myfake.state() # 미국의 주이름 myfake.sentence() # 문장 myfake.random_number()
한번 출력해볼까?
# fake.py from faker import Faker myfake = Faker() print(myfake.name()) print(myfake.address()) print(myfake.text()) print(myfake.state()) # 미국의 주이름 print(myfake.sentence()) # 문장 print(myfake.random_number())
$ python fake.py
$ Output Shannon Harris 9201 Bruce Brook Apt. 624 Thomasland, NH 31255 Letter including provide raise yeah. Anyone economic heart night middle production. Form style bring right improve keep. Nevada Address rest woman interview decide. 15
이런식으로 아무말 대잔치 시작.
어, 근데 한국말로 된건 없졍?.. ㅠ
가능해!
# fake.py from faker import Faker myfake = Faker('ko_KR') print(myfake.name()) print(myfake.address()) print(myfake.text()) print(myfake.state()) print(myfake.sentence()) print(myfake.random_number())
$ Output 김순옥 충청남도 평택시 서초중앙606가 (성민김동) Eligendi dolores natus neque. Consectetur dolorem dolorum eos laborum animi deserunt. Quibusdam alias officia hic. Expedita tempora quo eaque praesentium. Traceback (most recent call last): File "fake.py", line 8, in <module> print(myfake.state()) # 미국의 주이름 AttributeError: 'Generator' object has no attribute 'state'
그런데 안되는 녀석도 있네,,
그런데 맨날 랜덤으로 뜨는 것 말고, 하나 쓰는 녀석이 계속 유지되었으면 좋겠어!
이 때 사용되는게 Seed file!
# fake.py from faker import Faker myfake = Faker() myfake.seed(1) print(myfake.name()) print(myfake.address()) print(myfake.text()) print(myfake.state()) print(myfake.sentence()) print(myfake.random_number())
이 녀석이 뭐냐면, seed는 랜덤화된 숫자가 이미 저장되어 있는 꾸러미라고 생각하면 좋다.
$ Output Ryan Gallagher 6317 Mary Light Smithview, HI 13900 Against power across. Rather why rise month shake voice. Do discuss despite least face again study. Control yeah team building. Time wind may whose medical travel. Field onto think suffer measure. New Hampshire Collection dinner activity current. 31162152
아마 다른 컴퓨터에서 실행해도 같은 녀석이 출력될 것이다.
그래서 이녀석을 잘 쓰면, fake 데이터로 내 모델에 넣는 녀석을 테스트 해볼 수 있다!