Python은 내장 기능을 사용하여 파일과 상호 작용하는 간단한 방법을 제공합니다. 핵심 기능은 open ()
함수를 중심으로 파일 경로와 모드를 인수로 가져옵니다. 읽기 및 쓰기를 탐색하자 :
파일 읽기 :
파일을 읽으려면 일반적으로 open ()
함수를 'r'모드 (읽기 모드)와 함께 사용한 다음 read ()
, readline ()
(또는 readlines)와 같은 메소드를 사용합니다.
<code class="python"> # # 읽기를 위해 파일 열기 시도 : file (& quot; my_file.txt & quot;)으로 파일 : # 한 번에 전체 파일 내용을 읽습니다. file.read () # 라인별로 파일을 읽습니다. # end = "" "" " 추가 Newline # 모든 줄을 목록 파일로 읽습니다. seek (0) lines = file.readlines () print (lines) filenotfounderRor를 제외하고 : print (fil; found. & quot;)를 제외하고는 E : e과 같은 예외 (f & quot; 오류가 발생했습니다 : {e} & code;) </code> <p> at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at sempossions를 보여줍니다. 의 라인에 대한 <code>의 경우 </code>는 reads line my line, <code> readlines () </code>는 모든 줄을 목록으로 읽습니다. <ode :> 구성은 오류가 발생하더라도 파일이 자동으로 닫히도록합니다. </ode></p> <p> <strong> 파일 쓰기 : </strong> </p> <p> 파일에 파일에 쓰기는 '(쓰기) 모드,'(Append) 모드 또는 'x'모드를 열어줍니다. <code> write () </code> 메소드는 파일에 컨텐츠를 추가합니다. </p> <pre class="brush:php;toolbar:false"> <code class="python"> try : with with with with with with with with with with with with file : file : file.write (& quot; this; \ n & quot;)). Open (quot; my_new_file.txt;, & quot; a & quot;)은 파일 : #append mode file.write ( "이 줄은 \ n & quot;)를 제외하고 e : print (f & quot; 오류;) </code> <p> 'w'a), 'a adconds, and and and and and and and and and and and and and and and and and and and and and and and and and and and' 이미 존재하는 경우 파일을 파일하고 실패합니다. 적절한 라인 브레이크를 위해 Newline 문자 (<code> \ n </code>)를 포함해야합니다. </p> <h2> 파일 I/O? 읽기 파일. 이것은 기본 모드입니다. 파일이 존재하지 않으면 오류가 발생합니다. </h2>
이 모드를 결합 할 수 있습니다. 예를 들어, "r b & quot;
는 이진 모드에서 읽기 및 쓰기에 대한 파일을 엽니 다.
파일 I/O 운영은 기존 파일, 허가 공간 또는 디스크 공간 문제와 같은 다양한 오류를 일으킬 수 있습니다. 강력한 코드는 이것을 우아하게 처리해야합니다. 가장 일반적인 접근 방식은 try-excrect
블록을 사용하는 것입니다. & quot; w & quot;) as file : file.write ( "파일 생성.")는 repmissionerror를 제외하고 : print ( "권한; 허가 거부. 파일 권한을 확인하십시오.")를 제외하고 e : e : e : print (f & quot;)를 제외하고 : {e} & quot;)를 제외하고 : {e} & quot;)를 제외하고 e : #catch print (f & quotected 오류가 발생했습니다. {e} ")
이 예제는보다 유익한 오류 처리 및 일반적인 예외
에 대한 구체적인 예외 ( filenotfounderRor
, permissionError
, oserror
)를 포착합니다.
대형 파일을 읽고 쓰는 데 메모리 문제를 피하고 성능을 향상시키기 위해 최적화가 필요합니다. 모범 사례는 다음과 같습니다.
for
루프를 사용하여 파일별로 한 줄을 반복하십시오. 이것은 큰 파일에 대해 훨씬 더 메모리 효율적입니다. io.bufferedReader
및 io.bufferedWriter
클래스는 버퍼링 된 I/O를 제공합니다. 이는 디스크 액세스의 수를 줄임으로써 성능을 크게 향상시켜 성능을 향상시킵니다. 발전기는 메모리 효율을 더욱 향상시킬 수 있습니다. 발전기는 전체 파일을 메모리에로드하는 것을 피하면서 주문형 값을 생성합니다. mmap
(메모리 매핑) 사용을 고려하십시오. 이것은 파일의 일부를 메모리에 매핑하여 전체 파일을로드하지 않고 특정 부품에 효율적으로 액세스 할 수 있습니다. <code class="python"> import io import mmap #Chunking 예제 chunk_size = 1024 (& quot; marge_file.txt & quot;) break #process the chunk #... #memory 매핑 예제 ( "bight_file.txt & quot;,"r b & quot;)로 f : mm = mmap.mmap (f.fileno (), 0) #0은 mm [start : end] mm.close () </code> 응용 프로그램 및 파일 액세스 방법 순차적 처리의 경우, 라인별로 반복하거나 버퍼링 된 I/O를 사용하는 것이 일반적으로 충분합니다. 무작위 액세스의 경우 메모리 매핑이 더 적합 할 수 있습니다. 사용 가능한 RAM을 초과하는 매우 큰 파일의 경우 <code> dask </code> 또는 <code> vaex </code>와 같은 특수 라이브러리를 코어 외 계산을 처리하는 것을 고려하십시오.
위 내용은 파이썬에서 파일을 읽고 쓰는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!