Чтение из файла, запись в файл
презентация к уроку по информатике и икт (10 класс)
Предварительный просмотр:
Работа с файлами
Ввод данных
Чтобы считать данные из файла, вам надо сначала «открыть файл на чтение». Это делается командой
f = open("input.txt", "r")
Здесь input.txt — файл, откуда надо считать данные, параметр "r" указывает, что вы собираетесь именно читать (read) данные, а не записывать (write, см. ниже).
Далее с полученным объектом f можно работать. Самая простая операция — f.readline() — возвращает очередную строку файла. Это полный аналог input(), за исключением того, что на конце полученной строки будет специальный символ перевода строки "\n" (при выводе строки на экран он не будет заметен, но переведет лишний раз строку). Как правило, он вам будет мешать, но вы его можете легко убрать методом .rstrip("\n"), например, f.readline().rstrip("\n").
Пример. Пусть во входном файле два числа по одному на строке. С клавиатуры вы бы считывали так:
a = int(input())
b = int(input())
Тогда из файла надо считывать так:
f = open("input.txt", "r")
a = int(f.readline().rstrip("\n"))
b = int(f.readline().rstrip("\n"))
Аналогично, если два числа в одной строке. С клавиатуры это считывается так:
a, b = map(int, input().split())
Тогда из файла считываем так:
f = open("input.txt", "r")
a, b = map(int, f.readline().rstrip("\n").split())
Более сложный пример: сначала число N, а потом N строк по одному числу в каждой. С клавиатуры:
n = int(input())
for i in range(n):
x = int(input())
#... что-то делаем с x
Из файла:
f = open("input.txt", "r")
n = int(f.readline().rstrip("\n"))
for i in range(n):
x = int(f.readline().rstrip("\n"))
#... что-то делаем с x
Чтение до конца файла
Пока файл не кончился, функция readline будет вам всегда возвращать непустую строку (в ней будет как минимум символ "\n"). Как только файл кончится, readline вернет пустую строку. Поэтому читать до конца файла можно так:
f = open("input.txt", "r")
while True:
s = f.readline()
if s == "":
break
# обрабатываем s, в частности, теперь можно вызвать s = s.rstrip("\n")
Альтернативный вариант — можно сразу считать весь файл в массив строк:
data = open("input.txt", "r").readlines()
Теперь data — это массив строк, каждый элемент которого — это очередная строка из входного файла. Например, если в файле было написано
1 2 3
4 5 6
some text
то data будет содержать массив ["1 2 3\n", "4 5 6\n", "some text\n"], и дальше вы можете работать с этим массивом как вам надо.
Еще можно написать open("input.txt", "r").read(), это считает весь файл в одну большую строку (в том числе в середине этой строки могут быть символы перевода строки, но это все равно будет одна большая строка, а не массив строк)
Вывод
Для вывода данных вы можете открыть файл на вывод:
f = open("output.txt", "w")
(буква w обозначает write, запись). И дальше можно использовать f в качестве опционального аргумента уже знакомой вам функции print:
print(a, b, file=f)
После окончания всего вывода рекомендуется вызвать f.close(), чтобы данные реально оказались записаны на диск (хотя в большинстве случаев все работает и без этого).
По теме: методические разработки, презентации и конспекты
Электронный документ и файл.
Презентацию можно использовать на уроке по теме : "Программы и файлы" по УМК Л.Босовой...
Файлы и папки
Урок на тему: "Файлы и папки"...
Урок информатики "Файл и файловая система"
Урок "Файл и файловая система"(слайд1)Цели урока (слайд2)Обучающая: познакомить с понятиями файл, папка, файловая система, имя файла, путь к файлу.Развивающая: формирование умения составлять дер...
Файл. Полное имя файла
Презентация на тему "Файл. Полное имя файла".Может быть использована для повторения темы в 7-9 классах и формирования основных навыков при решении задач на определение полного имени файла и папки.Испо...
Звуковой файл. А.А.Ахматова. "Мужество" (авторское чтение)
Звуковой файл к внеклассному мероприятию "Язык есть исповедь народа"...
Файлы и папки, путь файла. Закрепление основных понятий.
образовательная: закрепить знания о файлах и папках, их имен и типах; формировать навыки распознавания файлов и папок по их пиктограммах; развивающая: воспитание информационной культуры учащихся,...
Уроки Python 9 - Файлы, запись, чтение
Уроки Python 9 - Файлы, запись, чтение...