(python) len의 필요성

조회수 650회
fname = input('Enter fline name: ')
if len(fname) < 1 : fname = 'mbox-short.txt'

fh = open(fname)
count = 0

for line in fh :
    if 'From ' in line :
        mail = line.split()
        print(mail[1])
        count = count + 1
    else : continue

print('There were', count, 'lines in the file with From as the first word')

공부하고 있는 도중 보게 된 코드입니다. 이 코드에서 len의 유무가 무슨 영향을 주는지 잘 모르겠습니다. 주석처리 한 다음에 출력을 해도 변화가 없던데... 왜 존재하는건가요? 조언 부탁드립니다

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 해당 라인은

    입력값 길이가 0이나 그보다 짧으면(= 입력값이 없으면) "mbox-short.txt"를 기본 입력값으로 써라

    라는 의미에서 들어간 라인 같네요.

    해당 라인 주석처리하고 mbox-short.txt 파일을 다른 이름으로 바꾼 뒤 입력값 없이 다시 실행해 보세요. open(fname)에서 뻑날걸요.

    • 말씀하신대로 하니 뻑나네요. 혹시 이런 구조를 어떤 경우에 사용하는지 알려주실 수 있으실까요? 위와 같이 하나의 파일만을 찾는 과정에서나 삑사리 입력했을 때도 코드가 실행되는 것은 굉장히 제한적인 경우에만 사용 할 수 있을거 같은데... 감이 안오네요 알 수 없는 사용자 2018.10.10 09:52
    • 그러게요. 보통은 소스내에 해당 파일이 기본적으로 동봉될 때겠지요. (예: 환경설정 파일) 저도 답변 달고나서 생각해보니 저같으면 사용자 입력이 없거나 .txt로 안끝나거나 할때는 사용자한테 메시지로 알려줘야지 무작정 (있는지 없는지 모를) 기본 파일명을 쓰는건 별로라고 생각했네요. 엽토군 2018.10.10 11:35
    • 역시 이론을 이해하기 위해 만들어지는 코드와 실사용하는 코드는 다른거군요 ㅎㅎ 같이 고민해주셔서 감사합니다 알 수 없는 사용자 2018.10.10 12:48

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)