logo

Python에서 텍스트 파일 읽기 및 쓰기

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

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

이 문서에서는 텍스트 파일에서 데이터 열기, 닫기, 읽기 및 쓰기에 중점을 둡니다. 여기에서는 얻는 방법도 살펴보겠습니다. 파이썬 텍스트 파일로 출력합니다.



파일 액세스 모드

액세스 모드는 열린 파일에서 가능한 작업 유형을 제어합니다. 파일을 연 후 파일이 어떻게 사용되는지를 나타냅니다. 이러한 모드는 또한 파일 핸들 파일에서. 파일 핸들은 파일에서 데이터를 읽거나 써야 하는 위치를 정의하고 텍스트 파일에서 Python 출력을 얻을 수 있는 커서와 같습니다.

Python에는 6가지 액세스 모드가 있습니다.

  • 읽기 전용('r')
  • 읽기 및 쓰기('r+')
  • 쓰기 전용('w')
  • 쓰기 및 읽기('w+')
  • 추가만('a')
  • 추가 및 읽기('a+')

읽기 전용('r') : 읽기 위해 텍스트 파일을 엽니다. 핸들은 파일의 시작 부분에 위치합니다. 파일이 존재하지 않으면 I/O 오류가 발생합니다. 이는 파일이 열리는 기본 모드이기도 합니다.



읽기 및 쓰기('r+'): 읽고 쓰기 위해 파일을 엽니다. 핸들은 파일의 시작 부분에 위치합니다. 파일이 존재하지 않으면 I/O 오류가 발생합니다.

쓰기 전용('w') : 쓰기 위해 파일을 엽니다. 기존 파일의 경우 데이터가 잘리고 덮어쓰여집니다. 핸들은 파일의 시작 부분에 위치합니다. 파일이 존재하지 않는 경우 파일을 생성합니다.

쓰기 및 읽기('w+') : 읽고 쓰기 위해 파일을 엽니다. 기존 파일의 경우 데이터가 잘리고 덮어쓰여집니다. 핸들은 파일의 시작 부분에 위치합니다.



추가만('a') : 쓰기 위해 파일을 엽니다. 파일이 존재하지 않으면 생성됩니다. 핸들은 파일의 끝에 위치합니다. 기록되는 데이터는 기존 데이터 뒤에 삽입됩니다.

추가 및 읽기('a+'): 읽고 쓰기 위해 파일을 엽니다. 파일이 존재하지 않으면 생성됩니다. 핸들은 파일의 끝에 위치합니다. 기록되는 데이터는 기존 데이터 뒤에 삽입됩니다.

파일이 기본 메모리에 어떻게 로드됩니까?

컴퓨터에는 두 가지 종류의 메모리가 있습니다. 즉, 기본 메모리와 보조 메모리를 저장했거나 저장한 모든 파일은 보조 메모리에 있으므로 컴퓨터 전원이 꺼지면 기본 메모리에 있는 모든 데이터가 삭제됩니다. 따라서 텍스트 파일을 변경해야 하거나 Python으로 작업하려면 해당 파일을 기본 메모리에 로드해야 합니다. Python은 기본 메모리 또는 기본 메모리에 로드된 파일과 상호 작용합니다. 파일 핸들러 (이것은 운영 체제가 메모리에서 파일을 검색하여 열었던 파일과 상호 작용할 수 있도록 Python에 액세스를 제공하는 방법입니다. 발견된 경우 파일 핸들러를 반환한 다음 해당 파일로 작업할 수 있습니다.)

Python에서 텍스트 파일 열기

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

File_object = open(r'File_Name','Access_Mode')>

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

파이썬




mysql 업데이트 조인

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

>

>

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

Python에서 텍스트 파일 닫기

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

파이썬




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

>

자바 스캔.nextstring

>

Python에서 파일에 쓰기

파일에 쓰는 방법에는 두 가지가 있습니다.

  • 쓰기() 사용
  • writeline() 사용하기

write()를 사용하여 Python 텍스트 파일에 쓰기

쓰다() : 텍스트 파일의 한 줄에 문자열 str1을 삽입합니다.

File_object.write(str1)>

writelines()를 사용하여 텍스트 파일에 쓰기

쓰기 라인() : 문자열 요소 목록의 경우 각 문자열이 텍스트 파일에 삽입됩니다. 한 번에 여러 문자열을 삽입하는 데 사용됩니다.

File_object.writelines(L) for L = [str1, str2, str3]>

참조: write() VS writeline()

Python에서 파일 읽기

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

  • 읽기() 사용
  • readline() 사용하기
  • 사용 판독선()

read()를 사용하여 파일에서 읽기

읽다() : 읽은 바이트를 문자열 형식으로 반환합니다. n 바이트를 읽습니다. n이 지정되지 않은 경우 전체 파일을 읽습니다.

File_object.read([n])>

readline()을 사용하여 텍스트 파일 읽기

readline() : 파일의 한 줄을 읽고 문자열 형식으로 반환합니다. 지정된 n에 대해 최대 n바이트를 읽습니다. 그러나 n이 행의 길이를 초과하더라도 두 행 이상을 읽지 않습니다.

File_object.readline([n])>

readlines()를 사용하여 파일 읽기

readlines() : 모든 줄을 읽고 이를 목록의 문자열 요소인 각 줄로 반환합니다.

 File_object.readlines()>

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

이 예에서는 myfile.txt라는 파일이 생성되어 쓰기 모드로 열립니다('w'>). 데이터는 다음을 사용하여 파일에 기록됩니다.write>그리고writelines>행동 양식. 그런 다음 파일은 읽기 및 추가 모드로 다시 열립니다('r+'>). 다음을 포함한 다양한 읽기 작업read>,readline>,readlines>, 그리고 의 사용seek>, 파일에서 데이터를 검색하는 다양한 방법을 보여줍니다. 마지막으로 파일이 닫힙니다.

파이썬3




문자열 값
# Program to show various ways to read and> # write data in a file.> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London '>]> # is placed to indicate EOL (End of Line)> 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>))> 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에서 파일에 추가하기

이 예에서는 myfile.txt라는 파일이 처음에 쓰기 모드로 열립니다('w'>) 텍스트 줄을 작성합니다. 그런 다음 파일은 추가 모드('a'>), 기존 콘텐츠에 Today가 추가됩니다. 추가 후의 출력은 다음을 사용하여 표시됩니다.readlines>. 그 후 파일은 쓰기 모드로 다시 열리고 내일로 내용을 덮어씁니다. 쓰기 후 최종 출력은 다음을 사용하여 표시됩니다.readlines>.

파이썬3




# Python program to illustrate> # Append vs write mode> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London '>]> file1.writelines(L)> file1.close()> # Append-adds at last> file1>=> open>(>'myfile.txt'>,>'a'>)>#append mode> file1.write(>'Today '>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after appending'>)> print>(file1.readlines())> print>()> file1.close()> # Write-Overwrites> file1>=> open>(>'myfile.txt'>,>'w'>)>#write mode> file1.write(>'Tomorrow '>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after writing'>)> print>(file1.readlines())> print>()> file1.close()>

>

>

산출:

Output of Readlines after appending ['This is Delhi 
', 'This is Paris 
', 'This is London 
', 'Today 
'] Output of Readlines after writing ['Tomorrow 
']>

관련 기사:

  • Python의 파일 객체