Python 에서 문자열이 접미사로 끝나는지 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 endswith() 메서드를 사용하여 문자열이 특정 접미사로 끝나는지 확인하는 방법을 배우게 됩니다. 이 기술은 파일 형식 식별 및 데이터 유효성 검사와 같은 작업에 필수적입니다.

이 랩은 .pdf.txt 접미사를 확인하는 Python 스크립트를 만드는 과정을 안내합니다. endswith() 메서드를 사용하여 문자열이 특정 접미사로 끝나는지 확인하는 방법과 다른 접미사를 확인하도록 스크립트를 수정하는 방법을 배우게 됩니다. 추가 단계에서는 여러 접미사를 확인하는 방법을 살펴봅니다.

문자열 접미사 (String Suffix) 에 대해 알아보기

이 단계에서는 문자열 접미사 (string suffix) 와 프로그래밍에서 그 중요성에 대해 배우게 됩니다. 문자열 접미사는 문자열의 끝에 나타나는 부분 문자열입니다. 접미사를 이해하는 것은 파일 형식 식별, 데이터 유효성 검사 및 텍스트 처리와 같은 작업에 매우 중요합니다.

간단한 Python 스크립트를 생성하여 문자열 접미사를 설명해 보겠습니다.

  1. LabEx 환경에서 VS Code 편집기를 엽니다.

  2. ~/project 디렉토리에 suffix_example.py라는 새 파일을 만듭니다.

    ~/project/suffix_example.py
  3. suffix_example.py 파일에 다음 Python 코드를 추가합니다.

    filename = "document.pdf"
    
    if filename.endswith(".pdf"):
        print("The file is a PDF document.")
    else:
        print("The file is not a PDF document.")

    이 코드는 문자열 변수 filename.pdf 접미사로 끝나는지 확인합니다. endswith() 메서드가 이 목적으로 사용됩니다.

  4. suffix_example.py 파일을 저장합니다.

  5. 터미널에서 python 명령을 사용하여 스크립트를 실행합니다.

    python suffix_example.py

    다음 출력을 볼 수 있습니다.

    The file is a PDF document.

이제 다른 접미사를 확인하도록 스크립트를 수정해 보겠습니다.

  1. VS Code 편집기에서 suffix_example.py 파일을 엽니다.

  2. .txt 접미사를 확인하도록 코드를 수정합니다.

    filename = "document.txt"
    
    if filename.endswith(".txt"):
        print("The file is a text document.")
    else:
        print("The file is not a text document.")
  3. suffix_example.py 파일을 저장합니다.

  4. 스크립트를 다시 실행합니다.

    python suffix_example.py

    다음 출력을 볼 수 있습니다.

    The file is a text document.

이것은 endswith() 메서드를 사용하여 문자열에서 특정 접미사를 확인하는 방법을 보여줍니다. 이는 많은 프로그래밍 작업에 대한 기본적인 기술입니다.

endswith() 메서드 사용하기

이 단계에서는 endswith() 메서드를 더 자세히 살펴보고 다양한 응용 분야를 탐구합니다. endswith() 메서드는 문자열이 특정 접미사로 끝나는지 확인하는 강력한 도구입니다. 문자열이 지정된 접미사로 끝나면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

이전 단계에서 사용한 suffix_example.py 파일을 계속 사용해 보겠습니다. 스크립트를 수정하여 더 상호 작용하도록 만들 것입니다.

  1. VS Code 편집기에서 suffix_example.py 파일을 엽니다.

  2. 사용자에게 파일 이름을 묻고 .txt로 끝나는지 확인하도록 코드를 수정합니다.

    filename = input("Enter a filename: ")
    
    if filename.endswith(".txt"):
        print("The file is a text document.")
    else:
        print("The file is not a text document.")

    이 코드는 input() 함수를 사용하여 사용자로부터 파일 이름을 가져옵니다. 그런 다음 endswith() 메서드를 사용하여 파일 이름이 .txt로 끝나는지 확인합니다.

  3. suffix_example.py 파일을 저장합니다.

  4. 스크립트를 실행합니다.

    python suffix_example.py

    스크립트는 파일 이름을 입력하라는 메시지를 표시합니다.

    Enter a filename:
  5. my_document.txt를 입력하고 Enter 키를 누릅니다. 다음 출력을 볼 수 있습니다.

    The file is a text document.
  6. 스크립트를 다시 실행하고 my_document.pdf를 입력합니다. 다음 출력을 볼 수 있습니다.

    The file is not a text document.

이제 endswith() 메서드의 대소문자 구분 (case sensitivity) 을 살펴보겠습니다.

  1. VS Code 편집기에서 suffix_example.py 파일을 엽니다.

  2. .TXT (대문자) 를 확인하도록 코드를 수정합니다.

    filename = input("Enter a filename: ")
    
    if filename.endswith(".TXT"):
        print("The file is a text document (uppercase).")
    else:
        print("The file is not a text document (uppercase).")
  3. suffix_example.py 파일을 저장합니다.

  4. 스크립트를 실행합니다.

    python suffix_example.py
  5. my_document.txt를 입력하고 Enter 키를 누릅니다. 다음 출력을 볼 수 있습니다.

    The file is not a text document (uppercase).

이것은 endswith() 메서드가 대소문자를 구분함을 보여줍니다. 대소문자를 구분하지 않는 검사를 수행하려면 endswith()를 사용하기 전에 lower() 메서드를 사용하여 문자열을 소문자로 변환할 수 있습니다.

filename = input("Enter a filename: ")

if filename.lower().endswith(".txt"):
    print("The file is a text document (case-insensitive).")
else:
    print("The file is not a text document (case-insensitive).")

이 수정된 코드는 접미사의 대소문자에 관계없이 my_document.txt를 텍스트 문서로 올바르게 식별합니다.

여러 접미사 (Suffixes) 확인하기

이 단계에서는 문자열이 여러 접미사 중 하나로 끝나는지 확인하는 방법을 배우게 됩니다. 이는 가능한 확장자 목록을 기반으로 파일을 식별하려는 경우에 유용합니다.

suffix_example.py 파일을 수정하여 여러 접미사를 확인해 보겠습니다.

  1. VS Code 편집기에서 suffix_example.py 파일을 엽니다.

  2. 파일 이름이 .txt 또는 .pdf로 끝나는지 확인하도록 코드를 수정합니다.

    filename = input("Enter a filename: ")
    suffixes = (".txt", ".pdf")
    
    if filename.endswith(suffixes):
        print("The file is either a text document or a PDF document.")
    else:
        print("The file is neither a text document nor a PDF document.")

    이 코드에서는 확인하려는 접미사를 포함하는 suffixes라는 튜플을 정의합니다. endswith() 메서드는 인수로 접미사 튜플을 허용할 수 있습니다.

  3. suffix_example.py 파일을 저장합니다.

  4. 스크립트를 실행합니다.

    python suffix_example.py

    스크립트는 파일 이름을 입력하라는 메시지를 표시합니다.

    Enter a filename:
  5. my_document.txt를 입력하고 Enter 키를 누릅니다. 다음 출력을 볼 수 있습니다.

    The file is either a text document or a PDF document.
  6. 스크립트를 다시 실행하고 my_document.pdf를 입력합니다. 다음 출력을 볼 수 있습니다.

    The file is either a text document or a PDF document.
  7. 스크립트를 다시 실행하고 my_document.docx를 입력합니다. 다음 출력을 볼 수 있습니다.

    The file is neither a text document nor a PDF document.

이제 튜플에 다른 접미사를 추가해 보겠습니다.

  1. VS Code 편집기에서 suffix_example.py 파일을 엽니다.

  2. 파일 이름이 .txt, .pdf 또는 .docx로 끝나는지 확인하도록 코드를 수정합니다.

    filename = input("Enter a filename: ")
    suffixes = (".txt", ".pdf", ".docx")
    
    if filename.endswith(suffixes):
        print("The file is either a text document, a PDF document, or a Word document.")
    else:
        print("The file is neither a text document, a PDF document, nor a Word document.")
  3. suffix_example.py 파일을 저장합니다.

  4. 스크립트를 실행합니다.

    python suffix_example.py
  5. my_document.docx를 입력하고 Enter 키를 누릅니다. 다음 출력을 볼 수 있습니다.

    The file is either a text document, a PDF document, or a Word document.

이것은 여러 가능한 파일 형식을 확인하기 위해 endswith() 메서드를 접미사 튜플과 함께 사용하는 방법을 보여줍니다.

요약

이 랩에서는 문자열 접미사 (string suffixes) 와 프로그래밍, 특히 파일 형식 식별과 같은 작업에서 그 중요성에 대해 배웠습니다. endswith() 메서드를 사용하여 파일 이름 문자열이 ".pdf" 및 ".txt"와 같은 특정 접미사로 끝나는지 확인하는 Python 스크립트를 만들었습니다.

이 랩에서는 스크립트를 수정하여 다른 접미사를 확인하는 방법을 보여주고 각 경우의 출력을 확인하여 문자열 접미사 유효성 검사를 위해 endswith()를 사용하는 기본 기술을 설명했습니다.