Я искал и могу найти только вопросы об обратном: запись 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, так что это не является большой проблемой.Если это большой файл, и вы не хотите использовать тонну памяти, как это может случиться с решением Бена, дополнительный код в
>>> import shutil >>> import sys >>> with open("test.txt", "r") as f: ... shutil.copyfileobj(f, sys.stdout)
тоже работает.
источник
f = open('file.txt', 'r') print f.read() f.close()
Из http://docs.python.org/tutorial/inputoutput.html
источник
Моя сокращенная версия на Python3
print(open('file.txt').read())
источник
вы также можете попробовать это
print ''.join(file('example.txt'))
источник
Вы можете попробовать это.
txt = <file_path> txt_opn = open(txt) print txt_opn.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())
источник
Чтобы улучшить ответ @bgporter, с Python-3 вы, вероятно, захотите работать с байтами вместо ненужного преобразования вещей в utf-8:
>>> import shutil >>> import sys >>> with open("test.txt", "rb") as f: ... shutil.copyfileobj(f, sys.stdout.buffer)
источник