Python: печать файла в stdout


Я искал, и я могу найти только вопросы о другом пути: запись stdin в файл :)

есть ли быстрый и простой способ сбросить содержимое файла в stdout?

6 66

6 ответов:

конечно. Если у вас есть строка с именем файла называется fname, следующее делает трюк.

with open(fname, 'r') as fin:
    print fin.read()

Если это большой файл, и вы не хотите потреблять тонну памяти, как это может произойти с решением Бена, дополнительный код в

>>> 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

чтобы прочитать содержимое файла, вызовите f. read (size), который считывает некоторое количество данных и возвращает его в виде строки. размер является необязательным числовым аргументом. Когда размер опущен или отрицательный, все содержимое файла будет считано и возвращено; это ваша проблема, если файл в два раза больше, чем память вашего компьютера. В противном случае считываются и возвращаются не более байтов размера. Если конец файл был достигнут, f. read () вернет пустую строку ("").

вы также можете попробовать это

print ''.join(file('example.txt'))

моя сокращенная версия в Python3

print(open('file.txt').read())

вы можете попробовать это.

txt = <file_path>
txt_opn = open(txt)
print txt_opn.read()

Это даст вам выходной файл.