Использование метода endswith()
На этом этапе вы углубитесь в изучение метода endswith()
и рассмотрите его различные применения. Метод endswith()
- это мощный инструмент для проверки, заканчивается ли строка определенным суффиксом. Он возвращает True
, если строка заканчивается указанным суффиксом, и False
в противном случае.
Продолжим работу с файлом suffix_example.py
из предыдущего шага. Мы изменим скрипт, чтобы сделать его более интерактивным.
-
Откройте файл suffix_example.py
в редакторе VS Code.
-
Измените код, чтобы запросить у пользователя имя файла и проверить, заканчивается ли оно на .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()
.
-
Откройте файл suffix_example.py
в редакторе VS Code.
-
Измените код, чтобы проверить наличие .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()
регистрозависим. Чтобы выполнить регистронезависимую проверку, вы можете преобразовать строку в нижний регистр с помощью метода lower()
перед использованием endswith()
.
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
как текстовый документ, независимо от регистра суффикса.