Tôi đã tìm kiếm và tôi chỉ có thể tìm thấy câu hỏi về cách khác: ghi stdin vào một tệp :)
Có cách nào nhanh chóng và dễ dàng để kết xuất nội dung của tệp sang stdout không?
Tôi đã tìm kiếm và tôi chỉ có thể tìm thấy câu hỏi về cách khác: ghi stdin vào một tệp :)
Có cách nào nhanh chóng và dễ dàng để kết xuất nội dung của tệp sang stdout không?
Câu trả lời:
Chắc chắn rồi. Giả sử bạn có một chuỗi với tên của tệp được gọi fname, thao tác sau sẽ thực hiện thủ thuật.
with open(fname, 'r') as fin:
print(fin.read())
print(fin.read(), end=""). Để tận dụng giải pháp đó trong Python 2, from __future__ import print_functionsẽ cần một tiền tố . Tất nhiên, các ứng dụng Python 2 nên luôn sử dụng hàm Python 3 print()- vì vậy điều đó không quá nặng nề.
f = open('file.txt', 'r')
print f.read()
f.close()
Từ http://docs.python.org/tutorial/inputoutput.html
Để đọc nội dung của tệp, hãy gọi f.read (size), nó sẽ đọc một số lượng dữ liệu và trả về dưới dạng một chuỗi. kích thước là một đối số số tùy chọn. Khi kích thước bị bỏ qua hoặc âm, toàn bộ nội dung của tệp sẽ được đọc và trả về; đó là vấn đề của bạn nếu tệp lớn gấp đôi bộ nhớ máy của bạn. Nếu không, tối đa các byte kích thước được đọc và trả về. Nếu đến cuối tệp, f.read () sẽ trả về một chuỗi rỗng ("").
Nếu bạn cần thực hiện việc này với pathlibmô-đun, bạn có thể sử dụng pathlib.Path.open()để mở tệp và in văn bản từ read():
from pathlib import Path
fpath = Path("somefile.txt")
with fpath.open() as f:
print(f.read())
Hoặc đơn giản gọi pathlib.Path.read_text():
from pathlib import Path
fpath = Path("somefile.txt")
print(fpath.read_text())