웹사이트 검색

Python 파일 작업 - Python으로 파일 읽기 및 쓰기


이 자습서에서는 Python의 다양한 파일 작업에 대해 작업합니다. Python을 사용하여 파일을 읽고, 파일에 쓰고, 파일을 삭제하는 방법 등을 살펴보겠습니다. 지체 없이 시작하겠습니다.

Python에서 파일 작업

이전 튜토리얼에서는 콘솔을 사용하여 입력을 받았습니다. 이제 파일을 사용하여 입력을 받을 것입니다. 즉, 파일을 읽고 파일에 씁니다. 그러기 위해서는 몇 가지 단계를 유지해야 합니다. 사람들은

  1. 파일 열기
  2. 해당 파일에서 입력 가져오기/해당 파일에 출력 쓰기
  3. 파일 닫기

또한 파일 복사 및 파일 삭제와 같은 몇 가지 유용한 작업을 배웁니다.

Python에서 파일 작업이 필요한 이유는 무엇입니까?

기계 학습 문제에서 대규모 데이터 세트로 작업할 때 파일 작업은 기본적으로 필요합니다. Python은 데이터 과학에 주로 사용되는 언어이므로 Python이 제공하는 다양한 파일 작업에 능숙해야 합니다.

이제 여기에서 일부 Python 파일 작업을 살펴보겠습니다.

1. open() 함수를 사용하여 Python에서 파일 열기

Python에서 파일을 사용하는 첫 번째 단계는 파일을 여는 방법을 배우는 것입니다. open() 메서드를 사용하여 파일을 열 수 있습니다.

Python의 open() 함수는 두 개의 인수를 허용합니다. 첫 번째는 전체 경로와 함께 파일 이름이고 두 번째는 파일 열기 모드입니다.

아래에는 파일에 대한 몇 가지 일반적인 읽기 모드가 나열되어 있습니다.

  • 'r' : 이 모드는 파일이 읽기 전용으로 열려 있음을 나타냅니다.
  • 'w' : 이 모드는 파일이 쓰기 전용으로 열려 있음을 나타냅니다. 해당 이름을 포함하는 파일이 존재하지 않으면 새 파일을 생성합니다.
  • 'a' : 이 모드는 해당 프로그램의 출력이 해당 파일의 이전 출력에 추가됨을 나타냅니다.
  • 'r+' : 이 모드는 파일이 읽기 및 쓰기용으로 열려 있음을 나타냅니다.

또한 Windows 운영 체제의 경우 바이너리 파일에 액세스하기 위해 'b'를 추가할 수 있습니다. 이는 Windows가 이진 텍스트 파일과 일반 텍스트 파일을 구분하기 때문입니다.

코드가 있는 동일한 디렉토리에 텍스트 파일 이름 'file.txt'를 배치한다고 가정합니다. 이제 우리는 그 파일을 열고 싶습니다.

그러나 open(filename, mode) 함수는 파일 객체를 반환합니다. 해당 파일 개체를 사용하여 추가 작업을 진행할 수 있습니다.

#directory:   /home/imtiaz/code.py
text_file = open('file.txt','r')

#Another method using full location
text_file2 = open('/home/imtiaz/file.txt','r')
print('First Method')
print(text_file)

print('Second Method')
print(text_file2)

다음 코드의 출력은

================== RESTART: /home/imtiaz/code.py ==================
First Method

Second Method

>>>

2. Python에서 파일 읽기 및 쓰기

Python은 각 기능이 다르게 동작하는 파일을 읽고 쓰는 다양한 방법을 제공합니다. 주목해야 할 한 가지 중요한 사항은 파일 작업 모드입니다. 파일을 읽으려면 읽기 또는 쓰기 모드로 파일을 열어야 합니다. Python에서 파일에 쓰는 동안 쓰기 모드에서 파일을 열어야 합니다.

다음은 파일을 읽고 쓸 수 있는 Python의 일부 함수입니다.

  • read() : 이 함수는 전체 파일을 읽고 문자열을 반환합니다.
  • readline() : 이 함수는 해당 파일에서 줄을 읽고 문자열로 반환합니다. n번째 호출된 경우 n행을 가져옵니다.
  • readlines() : 이 함수는 각 요소가 해당 파일의 한 줄인 목록을 반환합니다.
  • readlines() : 이 함수는 각 요소가 해당 파일의 한 줄인 목록을 반환합니다.
  • write() : 이 함수는 고정된 문자 시퀀스를 파일에 씁니다.
  • writelines() : 이 함수는 문자열 목록을 작성합니다.
  • append() : 이 함수는 파일을 덮어쓰는 대신 파일에 문자열을 추가합니다.

예제 파일 "abc.txt\를 사용하여 for 루프를 사용하여 파일에서 개별 줄을 읽어 봅시다.

#open the file
text_file = open('/Users/pankaj/abc.txt','r')

#get the list of line
line_list = text_file.readlines();

#for each line from the list, print the line
for line in line_list:
    print(line)

text_file.close() #don't forget to close the file

산출:

이제 Python에서 파일을 읽는 방법을 알았으므로 writelines() 함수를 사용하여 쓰기 작업을 수행해 보겠습니다.

#open the file
text_file = open('/Users/pankaj/file.txt','w')

#initialize an empty list
word_list= []

#iterate 4 times
for i in range (1, 5):
    print("Please enter data: ")
    line = input() #take input
    word_list.append(line) #append to the list


text_file.writelines(word_list) #write 4 words to the file

text_file.close() #don’t forget to close the file

산출

3. shutil() 메서드를 사용하여 Python에서 파일 복사

shutil 모듈을 사용하여 Python에서 파일을 복사할 수 있습니다. 이 유틸리티를 사용하면 Python에서 다른 파일에 대한 복사 및 이동 작업을 수행할 수 있습니다. 예제를 통해 이에 대해 살펴보겠습니다.

import shutil

shutil.copy2('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copy2.txt')

#another way to copy file

shutil.copyfile('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copyfile.txt')

print("File Copy Done")

4. shutil.os.remove() 메서드를 사용하여 Python에서 파일 삭제

Python의 shutil 모듈은 파일 시스템에서 파일을 삭제하는 remove() 메서드를 제공합니다. Python에서 삭제 작업을 수행하는 방법을 살펴보겠습니다.

import shutil
import os

#two ways to delete file
shutil.os.remove('/Users/pankaj/abc_copy2.txt')

os.remove('/Users/pankaj/abc_copy2.txt')

5. close() 메서드를 사용하여 Python에서 열린 파일 닫기

Python에서 파일을 열 때 변경 후 파일을 닫는 것이 매우 중요합니다. 이렇게 하면 이전에 변경한 내용이 저장되고 메모리에서 파일이 제거되며 프로그램 내에서 더 이상의 읽기 또는 쓰기가 방지됩니다.

Python에서 열린 파일을 닫는 구문:

fileobject.close()

파일을 읽는 이전 예제에서 계속 진행하면 파일을 닫는 방법은 다음과 같습니다.

text_file = open('/Users/pankaj/abc.txt','r')
# some file operations here

text_file.close()

또한 with 블록을 사용하면 파일을 수동으로 닫는 것을 방지할 수 있습니다. with 블록이 실행되는 즉시 파일이 닫히고 더 이상 읽고 쓸 수 없습니다.

6. 파이썬 FileNotFoundError

Python에서 파일 작업을 할 때 FileNotFoundError를 받는 것이 일반적입니다. 파일 객체를 생성할 때 전체 파일 경로를 제공하면 쉽게 피할 수 있습니다.

  File "/Users/pankaj/Desktop/string1.py", line 2, in <module>
    text_file = open('/Users/pankaj/Desktop/abc.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pankaj/Desktop/abc.txt'

FileNotFoundError를 수정하려면 파일 열기 방법에 대해 언급한 경로가 올바른지 확인하기만 하면 됩니다.

결론

이들은 Python의 파일 작업입니다. CSV 데이터 읽기 등을 포함하여 Python 내에서 파일을 사용할 수 있는 더 많은 방법이 있습니다. 다음은 Python에서 읽기 CSV 데이터 세트를 사용하는 방법에 대한 기사입니다.

나는 당신이 기사를 읽는 것을 즐겼기를 바랍니다! 즐거운 배움 :)

**참조: