|
|
|
|
@ -351,8 +351,11 @@ False
|
|
|
|
|
## Пункт 4.2 Общая схема работы с файлом
|
|
|
|
|
|
|
|
|
|
Для обмена данными с файлом необходимо выполнить следующие операции:
|
|
|
|
|
|
|
|
|
|
• Открытие файла с указанием его имени и цели (чтение, запись, добавление данных);
|
|
|
|
|
|
|
|
|
|
• Выполнение одной или нескольких операций обмена данными с файлом;
|
|
|
|
|
|
|
|
|
|
• Закрытие файла.
|
|
|
|
|
|
|
|
|
|
## Пункт 4.3 Открытие файла для записи или чтения
|
|
|
|
|
@ -463,7 +466,9 @@ write(text, /) method of _io.TextIOWrapper instance
|
|
|
|
|
Посмотрим, как выглядит файл, в текстовом редакторе:
|
|
|
|
|
|
|
|
|
|
[1, 2, 3, 4]
|
|
|
|
|
|
|
|
|
|
[5, 6, 7, 8]
|
|
|
|
|
|
|
|
|
|
[9, 10, 11, 12]
|
|
|
|
|
|
|
|
|
|
В файл записались преобразованные в строки срезы списка. Второй и последущие вызовы write()
|
|
|
|
|
@ -488,7 +493,7 @@ write(text, /) method of _io.TextIOWrapper instance
|
|
|
|
|
|
|
|
|
|
Файл в текстовом редакторе выглядит так:
|
|
|
|
|
|
|
|
|
|
Иванов И. 1Петров П. 2Сидоров С. 3
|
|
|
|
|
Иванов И. 1Петров П. 2Сидоров С. 3
|
|
|
|
|
|
|
|
|
|
Видно, что строки склеились там, где не надо. Попробуем по-другому.
|
|
|
|
|
|
|
|
|
|
@ -506,7 +511,9 @@ write(text, /) method of _io.TextIOWrapper instance
|
|
|
|
|
Мы добавили перенос каретки на каждой итерации цикла и пробел в нужном месте. Стало так:
|
|
|
|
|
|
|
|
|
|
Иванов И. 1
|
|
|
|
|
|
|
|
|
|
Петров П. 2
|
|
|
|
|
|
|
|
|
|
Сидоров С. 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -628,9 +635,12 @@ True
|
|
|
|
|
|
|
|
|
|
Поток в python - это абстракция, которая позволяет регулировать источники
|
|
|
|
|
ввода информации и то, куда её выводить. Всего их по умолчанию три:
|
|
|
|
|
sys.stdin — поток ввода
|
|
|
|
|
sys.stdout — поток вывода
|
|
|
|
|
sys.stderr — поток ошибок
|
|
|
|
|
|
|
|
|
|
sys.stdin — поток ввода
|
|
|
|
|
|
|
|
|
|
sys.stdout — поток вывода
|
|
|
|
|
|
|
|
|
|
sys.stderr — поток ошибок
|
|
|
|
|
|
|
|
|
|
```py
|
|
|
|
|
>>> import sys
|
|
|
|
|
|