Используйте метод 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 как текстовый документ, независимо от регистра суффикса.