언어/Python

Python side project 03 : Email slicer (이메일 슬라이서)

쟈누이 2020. 5. 24. 12:14
반응형

지금 개인적으로 진행하고 있는 파이썬 사이드 프로젝트들은 꽤 간단한 편이다.

생각보다는 쉬워서 건너뒤고 다른 것을 해볼까 싶기도 하지만, 

잠깐 잠깐 공부하고, 다시 기초를 다진다는 생각으로 하면서 점차 어려운 프로젝트로 발전시켜 나가면 좋을 것 같다

 

그런 의미에서 오늘은 간단한 email slicer 를 만들었다.

이메일을 입력하면 도메인 주소와 아이디를 분류해주는 코드이다.

처음에는 그저 어려운줄 알았지만, 막상 자료를 찾아보니 꽤 쉬웠다.

 

emails = input("이메일을 입력해주세요!").strip()

# -> strip()를 써준 이유는 input 입력과정에서 
# 공백이 만들어질 수 있기에 이를 방지해주고자 썻다.
# 다른 프로젝트에서 input 을 사용할 때 위 방법을 응용하면 공백방지에 도움이 될 것 같다.

# 아이디 :  snepbnt404
ids = emails[0:emails.index('@')]
print(ids)
# 도메인 : naver.com
domains = emails[emails.index('@')+1:]
print(domains)
# 사이트 : naver
sites = domains[:domains.index('.')]
print(sites)

print("아이디는 {0} 이며, 도메인 주소는 {1} 그리고 사이트는 {2} 입니다".format(ids,domains, sites))

프로젝트 고려사항

1. 리스트의 index( ) 함수의 특성을 잘 활용해야 한다.

index( ) 의 경우에는 입력한 [문자열] 의 수량을 알려주는 함수이다(틀릴수도 있다)

그러기에 문자열의 갯수를 카운팅할 때 가장 차음의 [문자열]을 카운팅하기에 

인덱싱을 할 때 써주면, 가장 처음의 [문자열]까지 또는 에서 인덱싱을 할 수 있다.

 

2. 도메인 주소에서 사이트의 명칭을 뽑아내어 어떤 사이트 소속인지 알아야 한다.

2번을 위해서 index( ) 의 특성을 이용했다. ' @ ' 앞에 ' . ' 이 붙어 있으면 그 위치로 인덱싱이 되어버리기 때문에

도메인 주소에서 원하는 사이트를 인덱싱하기가 힘들어진다. 그래서 따로 domains 라는 함수를 만들어주었다.

 

주의사항

사이트의 경우는 예외가 있을 수 있다. 예를 들면 gmail, hanmail 의 경우를 들 수 있겠는 데 이러한 상황에서는 따로 사이트를 추출하는 게 틀릴 수 있으니 참고 해야할 것 같다.

사이트를 넣은 이유는 너무 아이디, 도메인 만 추출을 하는 것 같아 새로운 것을 넣고 싶어서 사이트를 만들었다.

 

 

결과물은 아래와 같다.

반응형