Основы программирования на языке Python. Тема 13: Введение в файлы. Работа с файлами

Содержание

Слайд 2

Введение Считается, что первая книга появилась в древнем Египте примерно в

Введение

Считается, что первая книга появилась в древнем Египте примерно в 2400

году до нашей эры. Это событие спровоцировало огромный скачок в развитии всего человечества, так как с помощью книги человек получил возможность передавать свои знания через поколения.
Слайд 3

Введение Дело в том, что наши программы сейчас словно древние люди:

Введение

Дело в том, что наши программы сейчас словно древние люди: информация

не может сохраняться между запусками программы (также как не могла сохраняться после смерти человека).
Слайд 4

Понятие файла Под файлом в компьютере понимается некоторая именованная область на ПЗУ (постоянном запоминающем устройстве).

Понятие файла

Под файлом в компьютере понимается некоторая именованная область на ПЗУ

(постоянном запоминающем устройстве).
Слайд 5

Понятие файловой системы Под файловой системой понимается принцип логической организации данных

Понятие файловой системы

Под файловой системой понимается принцип логической организации данных на

ПЗУ. Например, файловая система отвечает на вопросы: где начинается файл и где он заканчивается, часть какого файла лежит в конкретной области ПЗУ, как расположены части некоторого конкретного файла в ПЗУ и многие другие. Некоторый участок памяти в ПЗУ становится файлом именно в контексте конкретной файловой системы.
Слайд 6

Хранение файлов Часто файл разбивается на блоки (к примеру, по 4

Хранение файлов

Часто файл разбивается на блоки (к примеру, по 4 кб),

эти блоки могут храниться в разных частях ПЗУ. Это нужно для ускорения некоторых операций, вроде записи файла.
Слайд 7

Хранения файла Доступ к файлам замедляется из-за их фрагментации. Особенно это

Хранения файла

Доступ к файлам замедляется из-за их фрагментации. Особенно это плохо

для жестких дисков, так как так в нем есть подвижные части, которым нужно время, чтобы переместиться, и еще они подвержены износу.
Слайд 8

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

Виртуальные файлы

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

ними происходит, как с обычными файлами так, будто они находятся на ПЗУ компьютера. Но на самом деле это не так, а считываемые данные из таких файлов генерируются операционной системой. Например, в Unix-подобных системах существует файл /dev/random. Считанные из него байты являются случайной (или псевдослучайной) последовательностью.
Слайд 9

Стандартный поток ввода from sys import stdin from_console = stdin.read() print(from_console)

Стандартный поток ввода

from sys import stdin from_console = stdin.read() print(from_console)
Для окончания ввода:
В PyCharm

– ctrl+D
В cmd – ctrl+C
Слайд 10

Открытие и закрытие файла file = open('file.txt', encoding='UTF-8-sig') file_content = file.read() file.close() print(file_content)

Открытие и закрытие файла

file = open('file.txt', encoding='UTF-8-sig') file_content = file.read() file.close() print(file_content)

Слайд 11

Другие способы чтения файла file = open('file.txt', encoding='UTF-8-sig') file_lines = file.readlines() print(file_lines) file.close()

Другие способы чтения файла

file = open('file.txt', encoding='UTF-8-sig') file_lines = file.readlines() print(file_lines) file.close()

Слайд 12

Другие способы чтения файла file = open('file.txt', encoding='UTF-8-sig') file_lines = [x.rstrip('\n')

Другие способы чтения файла

file = open('file.txt', encoding='UTF-8-sig') file_lines = [x.rstrip('\n') for x

in file.readlines()] print(file_lines) file.close()
Слайд 13

Другие способы чтения файла file = open('file.txt', encoding='UTF-8-sig') for line in

Другие способы чтения файла

file = open('file.txt', encoding='UTF-8-sig') for line in file: #

то же, что и for line in file.readlines(): print(line) file.close()
Слайд 14

Менеджер контекста file = open('file.txt', encoding='UTF-8-sig') word_counter = 0 for line

Менеджер контекста

file = open('file.txt', encoding='UTF-8-sig') word_counter = 0 for line in file: word_counter

+= len(line.split()) print(word_counter) file.close()
with open('file.txt', encoding='UTF-8-sig') as file: word_counter = 0 for line in file: word_counter += len(line.split()) print(word_counter)
Слайд 15

Запись в текстовом режиме with open('new_file.txt', mode='w', encoding='UTF-8') as file: for i in range(10): file.write(str(i))

Запись в текстовом режиме

with open('new_file.txt', mode='w', encoding='UTF-8') as file: for i

in range(10): file.write(str(i))
Слайд 16

Режимы открытия файлов При этом в при открытии файла в режиме

Режимы открытия файлов
При этом в при открытии файла в режиме r+,

файл должен существовать, а при открытии в режиме w+ файл будет создан, если его не существует.
Слайд 17

Стандартны поток вывода import sys sys.stdout.write('Пишу в консоль без print!') sys.stdout.write('Еще одна строка.')

Стандартны поток вывода

import sys sys.stdout.write('Пишу в консоль без print!') sys.stdout.write('Еще одна строка.')

Слайд 18

Запись в файл с помощь print with open('my_file.txt', mode='w') as file: print(1, 2, 3, file=file)

Запись в файл с помощь print

with open('my_file.txt', mode='w') as file: print(1,

2, 3, file=file)
Слайд 19

Своя реализация функции print import sys to_print = [1, 2, 3,

Своя реализация функции print

import sys to_print = [1, 2, 3, 'Строка'] sep =

' ' end = '\n' file = sys.stdout file.write(sep.join([str(x) for x in to_print]) + end) # это происходит внутри функции print to_print = ['Еще строка', 0.5] file.write(sep.join([str(x) for x in to_print]) + end)