Введение
В этом лабораторном занятии (LabEx) вы научитесь проверять, заканчивается ли строка в Python определенным суффиксом с использованием метода endswith(). Этот навык важен для таких задач, как идентификация типа файла и валидация данных.
В рамках лабораторного занятия вы создадите скрипт на Python для проверки наличия суффиксов .pdf и .txt. Вы узнаете, как использовать метод endswith() для определения, заканчивается ли строка определенным суффиксом, и как изменить скрипт для проверки различных суффиксов. В дальнейшем вы научитесь проверять наличие нескольких суффиксов.
Изучите строковые суффиксы
На этом этапе вы узнаете о суффиксах строк и их важности в программировании. Суффикс строки - это подстрока, которая находится в конце строки. Понимание суффиксов является важным для таких задач, как идентификация типа файла, валидация данных и обработка текста.
Начнем с создания простого скрипта на Python для иллюстрации суффиксов строк.
Откройте редактор VS Code в среде LabEx.
Создайте новый файл с именем
suffix_example.pyв директории~/project.~/project/suffix_example.pyДобавьте следующий код Python в файл
suffix_example.py: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().Сохраните файл
suffix_example.py.Запустите скрипт с помощью команды
pythonв терминале:python suffix_example.pyВы должны увидеть следующий вывод:
The file is a PDF document.
Теперь изменим скрипт для проверки другого суффикса.
Откройте файл
suffix_example.pyв редакторе VS Code.Измените код для проверки суффикса
.txt:filename = "document.txt" if filename.endswith(".txt"): print("The file is a text document.") else: print("The file is not a text document.")Сохраните файл
suffix_example.py.Запустите скрипт снова:
python suffix_example.pyВы должны увидеть следующий вывод:
The file is a text document.
Это демонстрирует, как использовать метод endswith() для проверки наличия определенных суффиксов в строках. Это фундаментальная техника для многих задач программирования.
Используйте метод 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 как текстовый документ, независимо от регистра суффикса.
Проверка нескольких суффиксов
На этом этапе вы узнаете, как проверить, заканчивается ли строка одним из нескольких суффиксов. Это полезно, когда вы хотите идентифицировать файлы на основе списка возможных расширений.
Давайте изменим файл suffix_example.py для проверки на несколько суффиксов.
Откройте файл
suffix_example.pyв редакторе VS Code.Измените код, чтобы проверить, заканчивается ли имя файла на
.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.")В этом коде мы определяем кортеж (tuple) с именем
suffixes, содержащий суффиксы, которые мы хотим проверить. Методendswith()может принимать кортеж суффиксов в качестве аргумента.Сохраните файл
suffix_example.py.Запустите скрипт:
python suffix_example.pyСкрипт попросит вас ввести имя файла.
Enter a filename:Введите
my_document.txtи нажмите Enter. Вы должны увидеть следующий вывод:The file is either a text document or a PDF document.Запустите скрипт снова и введите
my_document.pdf. Вы должны увидеть следующий вывод:The file is either a text document or a PDF document.Запустите скрипт снова и введите
my_document.docx. Вы должны увидеть следующий вывод:The file is neither a text document nor a PDF document.
Теперь добавим еще один суффикс в кортеж.
Откройте файл
suffix_example.pyв редакторе VS Code.Измените код, чтобы проверить, заканчивается ли имя файла на
.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.")Сохраните файл
suffix_example.py.Запустите скрипт:
python suffix_example.pyВведите
my_document.docxи нажмите Enter. Вы должны увидеть следующий вывод:The file is either a text document, a PDF document, or a Word document.
Это демонстрирует, как использовать метод endswith() с кортежем суффиксов для проверки на несколько возможных типов файлов.
Резюме
В этом практическом занятии (lab) вы узнали о строковых суффиксах и их важности в программировании, особенно для таких задач, как идентификация типов файлов. Вы создали скрипт на Python, используя метод endswith(), чтобы проверить, заканчивается ли строка с именем файла определенными суффиксами, такими как ".pdf" и ".txt".
В рамках практического занятия показано, как изменить скрипт для проверки различных суффиксов и проверить вывод в каждом случае, что иллюстрирует фундаментальную технику использования метода endswith() для валидации строковых суффиксов.



