endswith() メソッドを使用する
このステップでは、endswith() メソッドについて詳しく学び、その様々な用途を探索します。endswith() メソッドは、文字列が特定の接尾辞で終わっているかどうかをチェックするための強力なツールです。文字列が指定された接尾辞で終わっている場合は True を返し、そうでない場合は False を返します。
前のステップの suffix_example.py ファイルを引き続き使用しましょう。スクリプトを修正して、より対話的なものにします。
-
VS Code エディタで suffix_example.py ファイルを開きます。
-
コードを修正して、ユーザーにファイル名を入力させ、それが .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 で終わっているかどうかをチェックします。
-
suffix_example.py ファイルを保存します。
-
スクリプトを実行します。
python suffix_example.py
スクリプトは、ファイル名の入力を求めます。
Enter a filename:
-
my_document.txt を入力して Enter キーを押します。以下の出力が表示されるはずです。
The file is a text document.
-
スクリプトを再度実行し、my_document.pdf を入力します。以下の出力が表示されるはずです。
The file is not a text document.
次に、endswith() メソッドの大文字小文字の区別について調べましょう。
-
VS Code エディタで suffix_example.py ファイルを開きます。
-
コードを修正して、.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).")
-
suffix_example.py ファイルを保存します。
-
スクリプトを実行します。
python suffix_example.py
-
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 をテキストドキュメントとして正しく識別します。