Пусть нужно считать файл input.txt. Будем считать, что файл input.txt
лежит в той же папке, что и наша программа.
Напишите в ней такой код:
fin = open('input.txt', 'r')
a = fin.readlines()
После этого в списке a окажется список из строк файла.
Например, если файл input.txt был
abcd efgh
print(a) выведет ['abcd\n', 'efgh\n'].
Последний символ в каждой строке — '\n' — это один специальный символ
конца строки. Обратите внимание: это не два символа, а один.
Можно удалить эти ненужные символы с помощью метода strip(). В этом случае считывание
может выглядеть так:
fin = open('input.txt', 'r')
a = [line.strip() for line in fin.readlines()]
Для вывода в файл нужно открыть его и связать объект файла с каким-нибудь именем.
fout = open('output.txt', 'w') # 'w' - это режим "запись" ("write")
print(),
указывая при этом объект файла в качестве параметра file.
print("Hello, world!", file=fout)
fout.close()
Пусть нужно считать входной файл, причём количество строк в нём заранее неизвестно. Выполните такой код:
from sys import stdin a = stdin.readlines()
После этого в списке a окажется список из строк входного файла.
Например, если входной файл был
abcd efgh
print(a) выведет ['abcd\n', 'efgh\n'].
Последний символ в каждой строке — '\n' — это один специальный символ
конца строки. Обратите внимание: это не два символа, а один.
К сожалению, протестировать на правильность программы с таким вводом-вывом из среды Wing невозможно.
Дело в том, что в консоли Винга нельзя сказать, что входной файл закончился. Нет возможности ввести символ конца файла.
Соответственно, метод sys.stdin.readlines() никогда не завершится, поскольку будет ждать всё новые и новые строки из входа.
Чтобы протестировать ваш код на системе Windows, проделайте следующие действия:
cmd
cd дойдите до папки с вашей программой. При этом
не стесняйтесь обильно нажимать клавишу Tab.