Работа с файлами не сильно отличается от работы со строками. Все отличие заключается в том, что у вас текст с которым вы планируете работать находится в отдельном файле.

Скачайте следующий файлик text.txt

и положите его в папку со скриптом

теперь мы можем прочитать данные из этого файла. И, например, вывести их на экран

вообще, по сути, вызов функции

text = f.read()

равносилен присвоению текстовой строки переменной text, только текст прописываем не в явном виде, а читаем из файла.

После этого мы можем обращаться с текстом, как угодно. Бить его на строки, бить его на буквы, слова, в общем, все что душе угодно.

Иногда случаются случаи, когда файл с которым вы хотите работать лежит не в папке с проектом, тогда путь к нему надо указать в полном виде.

Допустим он у меня лежит в папке файлы на рабочем столе:

в этом случае надо открыть папку

скопировать путь который выделился и вставить его вместо имени файла

и затем собственно дописать имя файла с расширением через слеш:

получится что-то в виде

with open(r"C:\Users\m\Desktop\Файлы\text.txt", encoding="utf8") as f:
    text = f.read()

print(text)

ну а дальше можно уже работать как обычно

Задание

Провести частотный анализ текста text.txt. Найти процентную долю каждой буквы от общего количества букв в тексте.