Page 18 -
P. 18
5.3 P Y THON
실습문제 2
문제
사용자로부터 파일 이름을 입력받고, 확장자를 제외한 부분을 화면에 출력한다.
요구사항
• 확장자는 파일 이름의 마지막에 “.확장자” 형태로 주어진다고 가정한다.
• 파일 이름에 “.”가 없을 수 있다. 확장자가 없다면, 입력된 파일 이름 전체를 출력
한다.
• 파일 이름에 “.”가 두 개 이상 있을 수 있다.
• 확장자의 글자 수는 정해지지 않았다.
문제 해결
파일 이름은 입력받은 내용을 변수에 저장한 후 사용한다.
>>> filename = input("파일 이름을 입력하세요: ")
파일 이름을 입력하세요: Beautiful.Image.png
파일 이름에서 확장자를 제거한 후에 출력하려면, 확장자의 시작을 나타내는 ‘.’의 위치를
찾아야 한다.
파일 이름에 ‘.’가 두 개 이상 있을 수 있고, 반대로 아예 없을 수도 있다고 했다. rindex()
는 ‘.’가 없으면 오류가 발생하므로 rfind()를 이용한다.
rfind()를 사용해서 idx에 ‘.’의 인덱스를 저장한다. 파일 이름에 ‘.’가 있으면 idx - 1까지
문자열을 추출하면 된다.
>>> idx = filename.rfind('.')
176 │ 파이썬