Я искал и могу найти только вопросы об обратном: запись stdin в файл :)
Есть ли быстрый и простой способ выгрузить содержимое файла на стандартный вывод?
Я искал и могу найти только вопросы об обратном: запись stdin в файл :)
Есть ли быстрый и простой способ выгрузить содержимое файла на стандартный вывод?
Ответы:
Конечно. Предполагая, что у вас есть строка с именем файла с именем fname, следующее поможет.
with open(fname, 'r') as fin:
print(fin.read())
print(fin.read(), end=""). Чтобы использовать это решение в Python 2, from __future__ import print_functionпотребуется префикс . Конечно, приложения Python 2 в любом случае всегда должны использовать print()функцию Python 3, так что это не является большой проблемой.
f = open('file.txt', 'r')
print f.read()
f.close()
Из http://docs.python.org/tutorial/inputoutput.html
Чтобы прочитать содержимое файла, вызовите f.read (size), который считывает некоторое количество данных и возвращает их в виде строки. размер - необязательный числовой аргумент. Если размер опущен или отрицателен, будет прочитано и возвращено все содержимое файла; это ваша проблема, если размер файла вдвое превышает объем памяти вашей машины. В противном случае считываются и возвращаются не более байтов размера. Если достигнут конец файла, f.read () вернет пустую строку ("").
Если вам нужно сделать это с помощью pathlibмодуля, вы можете использовать pathlib.Path.open()для открытия файла и печати текста из read():
from pathlib import Path
fpath = Path("somefile.txt")
with fpath.open() as f:
print(f.read())
Или просто позвоните pathlib.Path.read_text():
from pathlib import Path
fpath = Path("somefile.txt")
print(fpath.read_text())