(python) len의 필요성

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답변

  • 좋아요

    1

    싫어요
    채택취소하기

    해당 라인은

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

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

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

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

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.