Автор оригинала: Robin Andrews.
Способность работать с внешними файлами имеет важное значение для любого программиста Python. В этой статье мы подробно рассмотрим, как читать из текстовых файлов в Python. Это может быть немного запутано сначала, так как есть несколько способов достижения того же результата (как часто бывает в случае с программированием), а также различные требования к тому, как данные должны использоваться при чтении. Мы узнаем, делая практические упражнения.
Настраивать
- Создать текстовый файл с именем
starwars_haracters.txtИспользование Notepad, Notepad ++ или другая программа для редактирования текста. - Добавьте имена символов, приведенные ниже, а затем сохраните файл. При сохранении его создайте новую папку под названием
Чтение файлови сохранитьstarwars_haracters.txtв этой папке.
Darth Vader Obi-Wan Kenobi Han Solo Luke Skywalker Yoda R2-D2 Chewbacca Princess Leia Jabba the Hutt
- Создайте пустой файл Python под названием
file_reading.pyВ той же папке! Отказ
Теперь мы готовы начать кодирование.
Простой подход
Если вы изучаете компьютерную науку, вам нужно будет знакомы с какой-то формой псевдокод Отказ Подход, используемый ниже для чтения данных из текстового файла, очень похоже на то, что будет выглядеть версия псевдокода.
characters = []
fh = open('starwars_characters.txt', 'r') # fh is short for "file_handle."
for line in fh:
characters.append(line.strip()) # strip() removes the newline characters
fh.close() # This is important!
print(characters[5]) # Should print "Yoda"
Обратите внимание на 'R' в Открыть ('starwars_haracters.txt', 'r') предназначен для «режима чтения». Мы изучим другие режимы позже, но на данный момент не беспокоитесь об этом – просто введите код, как указано.
Как только у нас есть рабочий кусок кода, часто можно сделать много уточнений, которые могут быть сделаны для «улучшения». Тем не менее, осознайте, что некоторые из этих уточнений могут прийти за стоимость ясности и простоты понимания/запоминания.
Используя с
Python предоставляет способ сохранить файл открытым только до тех пор, пока он нужен, используя ключевое слово с Отказ Это считается лучшей практикой, чем первый подход, в котором вы должны помнить, чтобы закрыть файл «вручную».
characters = []
with open('starwars_characters.txt', 'r') as fh:
for line in fh:
characters.append(line.strip())
print(characters[5]) # Should print "Yoda"
Возможность избежать – Readlines ()
Мы могли бы достичь того же результата, используя Readleines () Отказ Однако этот подход – не рекомендуется Как объяснено в Эта статья Отказ Здесь показано для полноты, и поэтому вы можете распознать его, чтобы избежать его.
characters = []
fh = open('starwars_characters.txt', 'r')
lines = fh.readlines()
for line in lines:
characters.append(line.strip())
print(characters[4]) # Should print "Yoda"
Самый питон путь
Python Programmemers часто гордится тем, насколько хорошо они могут «говорить беглый Python», используя все лучшие практики и мощные ярлыки языка. Список потенциалов являются классическим примером питонового подхода.
with open("starwars_characters.txt", "r") as fh:
characters = [line.strip() for line in fh]
print(characters[4]) # Should print "Yoda"
Так что у вас есть несколько способов Прочитайте данные из внешнего файла в программу Python. В зависимости от ваших целей, вы должны учиться и запоминать некоторые из них. Для передачи вашего GCSE компьютерный экзамен , Я бы порекомендовал сосредоточиться на первом подходе, в то время как если вы хотите стать хорошим программистом Python, вы также должны изучать других.
Надеюсь, это было полезно. Посмотрите на будущие статьи на Обработка файла в Python.