Девятый урок по Python // Файлы
Очень часто, информация хранится на компьютере в виде файлов. Наши программы на Python тоже могут читать и записывать файлы.
Чтобы работать с каким-либо файлом, его нужно открыть. Для этого применяется команда
f=open('имя файла с путём и расширением', 'режим работы с файлом')
Режимов работы с файлами несколько, но нас интересует в основном:
'r' - открыть файл для чтения с него информации
'w' - открыть файл для записи в него информации (создаёт новый файл)
'a' - открытие файла для дозаписи информации в конец файла (дописывает информацию в конец существующего файла)
Для того чтобы избежать проблем с путями до файлов в Windows используйте в них слэш '/', а также перед открывающей кавычкой пути файла ставьте букву u, указывающую на то, что строка в кодировке Unicode.
Например:
f=open(u'D:/test.txt', 'r')
откроет для чтения файл test.txt лежащий на диске D:
Чтобы прочитать информацию из файла, открытого для чтения, можно использовать два способа -
f=open(u'D:/test.txt', 'r')
s=f.read()
print(s)
прочитает весь текст из файла и положит его в переменную s.
Можно также последовательно читать из файла отдельные строки с помощью цикла for.
f=open(u'D:/test.txt', 'r')
for x in f:
print(x)
После того как работа с файлом закончена нужно закрыть его.
f.close()
Мы можем создать файл каким-то сторонним редактором - например в Блокноте Windows, или Notepad++, и потом прочитать его содержимое из Python.
Давайте теперь попробуем создать на диске D: новый файл, и записать в него значения каких-то переменных.
s1='Я первая строка для теста записи в файл\n'
s2='А я вторая строка для тех же целей\n'
f=open(u'D:/test2.txt', 'w')
f.write(s1)
f.write(s2)
f.close()
Обратите внимание, в конце каждой строки я пишу знак \n чтобы сделать переход на новую строку.
После запуска данной программы, на нашем диске D: появится файл test2.txt в котором записаны две строчки.
Допустим мы хотим дописать третью строчку в конец этого файла. Откроем файл в режиме дозаписи и дозапишем туда еще одну строку.
s3='Третья строка\n'
f=open(u'D:/test2.txt', 'a')
f.write(s3)
f.close()
Потренируйтесь открывать файлы в разных режимах, записывать в них и читать их них информацию.
Подписывайтесь на мой блог, если что-то непонятно, пишите вопросы в комментариях.
В следующем уроке мы сделаем простейшую программу для тестирования учащихся, которая будет хранить вопросы и варианты ответов в текстовом файле.