Saya telah mencari dan saya hanya dapat menemukan pertanyaan tentang sebaliknya: menulis stdin ke file :)
Apakah ada cara cepat dan mudah untuk membuang konten file ke stdout?
Tentu. Dengan asumsi Anda memiliki string dengan nama file yang dipanggil fname
, trik berikut melakukan triknya.
with open(fname, 'r') as fin:
print(fin.read())
print(fin.read(), end="")
. Untuk memanfaatkan solusi itu di bawah Python 2, prefiksfrom __future__ import print_function
akan dibutuhkan. Tentu saja, aplikasi Python 2 harus selalu menggunakan fungsi Python 3print()
- jadi itu tidak terlalu membebani.Jika itu adalah file besar dan Anda tidak ingin menghabiskan banyak memori seperti yang mungkin terjadi dengan solusi Ben, kode tambahan di
>>> import shutil >>> import sys >>> with open("test.txt", "r") as f: ... shutil.copyfileobj(f, sys.stdout)
juga bekerja.
sumber
f = open('file.txt', 'r') print f.read() f.close()
Dari http://docs.python.org/tutorial/inputoutput.html
sumber
Versi singkat saya dengan Python3
print(open('file.txt').read())
sumber
Anda juga bisa mencoba ini
print ''.join(file('example.txt'))
sumber
Anda bisa mencobanya.
txt = <file_path> txt_opn = open(txt) print txt_opn.read()
Ini akan memberi Anda keluaran file.
sumber
Jika Anda perlu melakukan ini dengan
pathlib
modul, Anda dapat menggunakanpathlib.Path.open()
untuk membuka file dan mencetak teks dariread()
:from pathlib import Path fpath = Path("somefile.txt") with fpath.open() as f: print(f.read())
Atau cukup hubungi
pathlib.Path.read_text()
:from pathlib import Path fpath = Path("somefile.txt") print(fpath.read_text())
sumber
Untuk meningkatkan jawaban @ bgporter, dengan Python-3 Anda mungkin ingin beroperasi pada byte daripada mengonversi hal-hal yang tidak perlu ke utf-8:
>>> import shutil >>> import sys >>> with open("test.txt", "rb") as f: ... shutil.copyfileobj(f, sys.stdout.buffer)
sumber