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?
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?
Jawaban:
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, prefiks from __future__ import print_functionakan dibutuhkan. Tentu saja, aplikasi Python 2 harus selalu menggunakan fungsi Python 3 print()- jadi itu tidak terlalu membebani.
f = open('file.txt', 'r')
print f.read()
f.close()
Dari http://docs.python.org/tutorial/inputoutput.html
Untuk membaca konten file, panggil f.read (size), yang membaca sejumlah data dan mengembalikannya sebagai string. size adalah argumen numerik opsional. Jika ukuran dihilangkan atau negatif, seluruh konten file akan dibaca dan dikembalikan; itu masalah Anda jika file tersebut dua kali lebih besar dari memori mesin Anda. Jika tidak, paling banyak ukuran byte yang dibaca dan dikembalikan. Jika akhir file telah tercapai, f.read () akan mengembalikan string kosong ("").
Versi singkat saya dengan Python3
print(open('file.txt').read())
Jika Anda perlu melakukan ini dengan pathlibmodul, Anda dapat menggunakan pathlib.Path.open()untuk membuka file dan mencetak teks dari read():
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())