Я шукав і можу знайти лише питання про навпаки: запис stdin у файл :)
Чи є швидкий і простий спосіб скинути вміст файлу в stdout?
Я шукав і можу знайти лише питання про навпаки: запис stdin у файл :)
Чи є швидкий і простий спосіб скинути вміст файлу в stdout?
Відповіді:
Звичайно. Якщо припустити, що у вас є рядок із назвою файлу fname, наступне робить трюк.
with open(fname, 'r') as fin:
print(fin.read())
print(fin.read(), end=""). Щоб використовувати це рішення під Python 2, потрібен префікс from __future__ import print_function. Звичайно, програми Python 2 у будь-якому випадку завжди повинні використовувати функцію Python 3 print()- так що це не є великим тягарем.
f = open('file.txt', 'r')
print f.read()
f.close()
З http://docs.python.org/tutorial/inputoutput.html
Щоб прочитати вміст файлу, зателефонуйте f.read (size), який зчитує деяку кількість даних і повертає їх у вигляді рядка. 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())