Hướng dẫn python write file to stdout - python ghi tập tin vào thiết bị xuất chuẩn

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: viết stdin vào một tệp.

Có cách nào nhanh chóng và dễ dàng để đổ nội dung của một tệp xuống

>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
1 không?

Martineau

Huy hiệu vàng 116K2525 gold badges161 silver badges288 bronze badges

Đã hỏi ngày 10 tháng 11 năm 2011 lúc 18:12Nov 10, 2011 at 18:12

Thiên thạchPanameteoritePanamameteoritepanama

5.97213 Huy hiệu vàng42 Huy hiệu bạc55 Huy hiệu Đồng13 gold badges42 silver badges55 bronze badges

1

Chắc chắn rồi. Giả sử bạn có một chuỗi có tên của tệp được gọi là

>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
2, sau đây thực hiện thủ thuật.

with open[fname, 'r'] as fin:
    print[fin.read[]]

Đã trả lời ngày 10 tháng 11 năm 2011 lúc 18:16Nov 10, 2011 at 18:16

David Alberdavid AlberDavid Alber

17.1k6 Huy hiệu vàng64 Huy hiệu bạc71 Huy hiệu đồng6 gold badges64 silver badges71 bronze badges

2

Nếu đó là một tệp lớn và bạn không muốn tiêu thụ một tấn bộ nhớ như có thể xảy ra với giải pháp của Ben, thì mã bổ sung trong

>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]

Cũng hoạt động.

Đã trả lời ngày 10 tháng 11 năm 2011 lúc 18:21Nov 10, 2011 at 18:21

0

f = open['file.txt', 'r']
print f.read[]
f.close[]

Từ //docs.python.org/tutorial/inputoutput.html

Để đọc một tệp nội dung, hãy gọi F.Read [kích thước], đọc một số lượng dữ liệu và trả về nó dưới dạng 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 so với bộ nhớ máy của bạn. Nếu không, ở hầu hết các byte có kích thước được đọc và trả về. Nếu kết thúc của tệp đã đạt được, f.Read [] sẽ trả về một chuỗi trống [""].

Đã trả lời ngày 10 tháng 11 năm 2011 lúc 18:16Nov 10, 2011 at 18:16

David Alberdavid AlberBen

17.1k6 Huy hiệu vàng64 Huy hiệu bạc71 Huy hiệu đồng8 gold badges42 silver badges62 bronze badges

Nếu đó là một tệp lớn và bạn không muốn tiêu thụ một tấn bộ nhớ như có thể xảy ra với giải pháp của Ben, thì mã bổ sung trong

print[open['file.txt'].read[]]

Cũng hoạt động.Feb 12, 2018 at 3:25

Đã trả lời ngày 10 tháng 11 năm 2011 lúc 18:21mlanzero

Từ //docs.python.org/tutorial/inputoutput.html1 silver badge3 bronze badges

1

Để đọc một tệp nội dung, hãy gọi F.Read [kích thước], đọc một số lượng dữ liệu và trả về nó dưới dạng 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 so với bộ nhớ máy của bạn. Nếu không, ở hầu hết các byte có kích thước được đọc và trả về. Nếu kết thúc của tệp đã đạt được, f.Read [] sẽ trả về một chuỗi trống [""].

>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
3

BenbenFeb 17, 2017 at 7:37

Ninja420Ninja420Ninja420

15.9k8 Huy hiệu vàng42 Huy hiệu bạc62 Huy hiệu Đồng3 gold badges22 silver badges33 bronze badges

Phiên bản rút ngắn của tôi trong Python3

txt = 
txt_opn = open[txt]
print txt_opn.read[]

Đã trả lời ngày 12 tháng 2 năm 2018 lúc 3:25

MlanzeromlanzeroMar 18, 2016 at 6:55

1191 Huy hiệu bạc3 Huy hiệu đồngShoaib

Bạn cũng có thể thử cái này1 silver badge13 bronze badges

Đã trả lời ngày 17 tháng 2 năm 2017 lúc 7:37

from pathlib import Path

fpath = Path["somefile.txt"]

with fpath.open[] as f:
    print[f.read[]]

3.3623 Huy hiệu vàng22 Huy hiệu bạc33 Huy hiệu Đồng

from pathlib import Path

fpath = Path["somefile.txt"]

print[fpath.read_text[]]

Bạn có thể thử điều này.Jun 29, 2020 at 6:54

Điều này sẽ cung cấp cho bạn đầu ra tập tin.RoadRunner

Đã trả lời ngày 18 tháng 3 năm 2016 lúc 6:556 gold badges37 silver badges73 bronze badges

Shoaibshoaib

>>> import shutil
>>> import sys
>>> with open["test.txt", "rb"] as f:
...    shutil.copyfileobj[f, sys.stdout.buffer]

Huy hiệu bằng đồng 1121 Bạc13Oct 2, 2020 at 12:17

Nếu bạn cần làm điều này với mô -đun

>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
4, bạn có thể sử dụng
>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
5 để mở tệp và in văn bản từ
>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
6:mricon

Hoặc đơn giản là gọi

>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
7:2 bronze badges

Đã trả lời ngày 29 tháng 6 năm 2020 lúc 6:54

!cat /path/to/filename

RoadrunnerRunnerApr 7, 2021 at 15:09

25K6 Huy hiệu vàng37 Huy hiệu bạc73 Huy hiệu đồng

with open[path, mode="rt"] as f:
    for line in f:
        print[line, end=""]

Để cải thiện câu trả lời của @bgporter, với Python-3, bạn có thể sẽ muốn hoạt động trên byte thay vì không cần thiết phải chuyển đổi mọi thứ thành UTF-8:

Đã trả lời ngày 2 tháng 10 năm 2020 lúc 12:17

MriconmriconJun 16, 2021 at 14:06

Phù hiệu bằng đồng 1112Ben Mosher

Nếu bạn đang ở trên

>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
8, bạn chỉ cần sử dụng:6 gold badges67 silver badges78 bronze badges

do:

>>> import shutil
>>> import sys
>>> with open["test.txt", "r"] as f:
...    shutil.copyfileobj[f, sys.stdout]
0

Đã trả lời ngày 7 tháng 4 năm 2021 lúc 15:09

Bài Viết Liên Quan

Chủ Đề