[python] Python : stdout에 파일 인쇄

나는 검색했고 다른 방법으로 만 질문을 찾을 수 있습니다 : stdin을 파일에 작성 🙂

파일의 내용을 stdout에 덤프하는 빠르고 쉬운 방법이 있습니까?



답변

확실한. 파일 이름이라는 문자열이 있다고 가정하면 fname다음이 트릭을 수행합니다.

with open(fname, 'r') as fin:
    print(fin.read())


답변

대용량 파일이고 Ben의 솔루션에서 발생할 수있는 것처럼 많은 양의 메모리를 소비하고 싶지 않다면

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

또한 작동합니다.


답변

f = open('file.txt', 'r')
print f.read()
f.close()

에서 http://docs.python.org/tutorial/inputoutput.html

파일의 내용을 읽으려면 f.read (size)를 호출하여 일정량의 데이터를 읽고이를 문자열로 반환합니다. size는 선택적 숫자 인수입니다. 크기가 생략되거나 음수이면 파일의 전체 내용을 읽고 반환합니다. 파일이 컴퓨터의 메모리보다 두 배 큰 경우 문제입니다. 그렇지 않으면 최대 size 바이트를 읽고 반환합니다. 파일 끝에 도달하면 f.read ()는 빈 문자열 ( “”)을 반환합니다.


답변

Python3의 단축 버전

print(open('file.txt').read())


답변

당신은 또한 이것을 시도 할 수 있습니다

print ''.join(file('example.txt'))


답변

이것을 시도 할 수 있습니다.

txt = <file_path>
txt_opn = open(txt)
print txt_opn.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())