logo

Python에서 파일을 읽는 방법

Python은 파일 생성, 쓰기, 읽기를 위한 내장 함수를 제공합니다. Python에서 처리할 수 있는 파일에는 일반 텍스트 파일과 바이너리 파일(바이너리 언어, 0과 1로 작성됨)의 두 가지 유형이 있습니다.

    텍스트 파일: 이 유형의 파일에서는 텍스트의 각 줄이 EOL(End of Line)이라는 특수 문자로 종료됩니다. EOL은 기본적으로 Python의 새 줄 문자(' ')입니다. 바이너리 파일: 이 유형의 파일에는 줄에 대한 종결자가 없으며 데이터를 기계가 이해할 수 있는 바이너리 언어로 변환하여 저장합니다.

메모: 파일 처리에 대해 자세히 알아보려면 여기를 클릭하세요 .



액세스 모드

액세스 모드는 열린 파일에서 가능한 작업 유형을 제어합니다. 파일이 열린 후 어떻게 사용되는지를 나타냅니다. 이러한 모드는 파일에서 파일 핸들의 위치도 정의합니다. 파일 핸들은 파일에서 데이터를 읽거나 써야 하는 위치를 정의하는 커서와 같습니다. 파일 읽기를 위한 다양한 액세스 모드는 다음과 같습니다.

    읽기 전용('r') : 읽기용으로 텍스트 파일을 엽니다. 핸들은 파일의 시작 부분에 위치합니다. 파일이 존재하지 않으면 I/O 오류가 발생합니다. 이는 파일이 열리는 기본 모드이기도 합니다. 읽기 및 쓰기('r+') : 읽고 쓰기 위해 파일을 엽니다. 핸들은 파일의 시작 부분에 위치합니다. 파일이 존재하지 않으면 I/O 오류가 발생합니다. 추가 및 읽기('a+') : 읽고 쓰기 위해 파일을 엽니다. 파일이 존재하지 않으면 생성됩니다. 핸들은 파일의 끝에 위치합니다. 기록되는 데이터는 기존 데이터 뒤에 삽입됩니다.

메모: 액세스 모드에 대해 자세히 알아보려면 여기를 클릭하세요 .

파일 열기

open() 함수를 사용하여 수행됩니다. 이 기능을 위해 모듈을 가져올 필요가 없습니다.



통사론:

포토샵에서 다시 실행하는 방법
File_object = open(r'File_Name', 'Access_Mode')>

파일은 Python 프로그램 파일과 동일한 디렉터리에 있어야 하며, 그렇지 않으면 파일 이름 대신 파일의 전체 주소를 적어야 합니다. 메모: r은 파일 이름 문자열의 문자가 특수 문자로 처리되는 것을 방지하기 위해 파일 이름 앞에 배치됩니다. 예를 들어, 파일 주소에 emp가 있으면 는 탭 문자로 처리되어 잘못된 주소라는 오류가 발생합니다. r은 문자열을 원시로 만듭니다. 즉, 문자열에 특수 문자가 없음을 나타냅니다. 파일이 동일한 디렉토리에 있고 주소가 배치되지 않은 경우 r은 무시될 수 있습니다.

파이썬3






# Open function to open the file 'MyFile1.txt'> # (same directory) in read mode and> file1>=> open>('MyFile.txt', 'r')> > # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r'D:TextMyFile2.txt', 'r>+>')>

>

>

여기서는 file1이 MyFile1의 개체로 생성되고 file2가 MyFile2의 개체로 생성됩니다.

파일 닫기

close() 함수는 파일을 닫고 해당 파일이 확보한 메모리 공간을 해제합니다. 파일이 더 이상 필요하지 않거나 다른 파일 모드로 열릴 때 사용됩니다.

통사론:

File_object.close()>

파이썬3


리눅스 명령



# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>('MyFile.txt', 'r')> file1.close()>

>

>

파일에서 읽기

텍스트 파일에서 데이터를 읽는 방법에는 세 가지가 있습니다.

    read() : 읽은 바이트를 문자열 형식으로 반환합니다. n 바이트를 읽습니다. n이 지정되지 않은 경우 전체 파일을 읽습니다.
File_object.read([n])>
    readline() : 파일의 한 줄을 읽고 문자열 형식으로 반환합니다. 지정된 n에 대해 최대 n바이트를 읽습니다. 그러나 n이 행의 길이를 초과하더라도 두 행 이상을 읽지 않습니다.
File_object.readline([n])>
    readlines() : 모든 줄을 읽고 이를 목록의 문자열 요소로 각 줄로 반환합니다.
File_object.readlines()>

메모: ' '은 2바이트의 특수문자로 처리됩니다.

예:

파이썬3




# Program to show various ways to> # read data from a file.> # Creating a file> file1>=> open>('myfile.txt', 'w')> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Writing data to a file> file1.write('Hello ')> file1.writelines(L)> file1.close()># to change file access modes> file1>=> open>('myfile.txt', 'r>+>')> print>('Output of Read function>is> ')> print>(file1.read())> print>()> # seek(n) takes the file handle to the nth> # byte from the beginning.> file1.seek(>0>)> print>('Output of Readline function>is> ')> print>(file1.readline())> print>()> file1.seek(>0>)> # To show difference between read and readline> print>('Output of Read(>9>) function>is> ')> print>(file1.read(>9>))> print>()> file1.seek(>0>)> print>('Output of Readline(>9>) function>is> ')> print>(file1.readline(>9>))> print>()> file1.seek(>0>)> # readlines function> print>('Output of Readlines function>is> ')> print>(file1.readlines())> print>()> file1.close()>

>

>

산출:

Output of Read function is Hello This is Delhi This is Paris This is London Output of Readline function is Hello Output of Read(9) function is Hello Th Output of Readline(9) function is Hello Output of Readlines function is ['Hello 
', 'This is Delhi 
', 'This is Paris 
', 'This is London 
']>

진술 포함

Python의 with 문은 예외 처리에 사용되어 코드를 더욱 깔끔하고 읽기 쉽게 만듭니다. 파일 스트림과 같은 공통 리소스의 관리를 단순화합니다. 위의 구현과 달리 with 문을 사용할 때는 file.close()를 호출할 필요가 없습니다. with 문 자체는 리소스의 적절한 획득 및 해제를 보장합니다.

통사론:

with open filename as file:>

파이썬3

mysql 사용자 목록




# Program to show various ways to> # read data from a file.> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Creating a file> with>open>('myfile.txt', 'w') as file1:> ># Writing data to a file> >file1.write('Hello ')> >file1.writelines(L)> >file1.close()># to change file access modes> with>open>('myfile.txt', 'r>+>') as file1:> ># Reading from a file> >print>(file1.read())>

>

>

산출:

Hello This is Delhi This is Paris This is London>

메모: with 문에 대해 더 알아보려면 여기를 클릭하세요 .