Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 파일 열기 및 닫기

<시간/>

지금까지 표준 입력 및 출력을 읽고 썼습니다. 이제 실제 데이터 파일을 사용하는 방법을 알아보겠습니다.

Python은 기본적으로 파일을 조작하는 데 필요한 기본 기능과 메서드를 제공합니다. 대부분의 파일을 할 수 있습니다. 파일 개체를 사용한 조작.

열린 기능

파일을 읽거나 쓰려면 먼저 Python의 내장 open() 함수를 사용하여 파일을 열어야 합니다. 이 함수는 파일을 생성합니다. 개체와 관련된 다른 지원 메서드를 호출하는 데 사용됩니다.

구문

파일 객체 =open(file_name [, access_mode][, 버퍼링])

다음은 매개변수 세부정보입니다. -

  • file_name − file_name 인수는 액세스하려는 파일의 이름을 포함하는 문자열 값입니다.
  • 접근 모드 − access_mode는 파일을 열어야 하는 모드, 즉 읽기, 쓰기, 추가 등을 결정합니다. 가능한 값의 전체 목록은 아래 표에 나와 있습니다. 이것은 선택적 매개변수이며 기본 파일 액세스 모드는 읽기(r)입니다.
  • 버퍼링 - 버퍼링 값을 0으로 설정하면 버퍼링이 발생하지 않습니다. 버퍼링 값이 1이면 파일에 접근하는 동안 라인 버퍼링을 수행한다. 버퍼링 값을 1보다 큰 정수로 지정하면 지정된 버퍼 크기로 버퍼링 동작이 수행됩니다. 음수이면 버퍼 크기가 시스템 기본값(기본 동작)입니다.

다음은 파일을 여는 다양한 모드의 목록입니다 -

Sr.No 모드 및 설명
1 r
읽기 전용으로 파일을 엽니다. 파일 포인터는 파일의 시작 부분에 위치합니다. 이것은 기본 모드입니다.
2 rb
이진 형식으로만 읽기 위해 파일을 엽니다. 파일 포인터는 파일의 시작 부분에 위치합니다. 이것은 기본 모드입니다.
3 r+
읽기와 쓰기 모두를 위해 파일을 엽니다. 파일의 시작 부분에 위치한 파일 포인터.
4 rb+
이진 형식으로 읽고 쓰기 위해 파일을 엽니다. 파일의 시작 부분에 위치한 파일 포인터.
5
쓰기 전용으로 파일을 엽니다. 파일이 있는 경우 파일을 덮어씁니다. 파일이 존재하지 않으면 쓰기 위해 새 파일을 만듭니다.
6 wb
바이너리 형식으로만 쓰기 위해 파일을 엽니다. 파일이 있는 경우 파일을 덮어씁니다. 파일이 존재하지 않으면 쓰기 위해 새 파일을 만듭니다.
7 w+
쓰기와 읽기 모두를 위해 파일을 엽니다. 파일이 있는 경우 기존 파일을 덮어씁니다. 파일이 없으면 읽고 쓸 수 있는 새 파일을 만듭니다.
8 wb+
이진 형식으로 쓰고 읽을 수 있도록 파일을 엽니다. 파일이 있는 경우 기존 파일을 덮어씁니다. 파일이 없으면 읽고 쓸 수 있는 새 파일을 만듭니다.
9 a
추가할 파일을 엽니다. 파일이 존재하는 경우 파일 포인터는 파일 끝에 있습니다. 즉, 파일이 추가 모드에 있습니다. 파일이 존재하지 않으면 쓰기 위해 새 파일을 만듭니다.
10 ab
바이너리 형식으로 추가할 파일을 엽니다. 파일이 존재하는 경우 파일 포인터는 파일 끝에 있습니다. 즉, 파일이 추가 모드에 있습니다. 파일이 존재하지 않으면 쓰기 위해 새 파일을 만듭니다.
11 a+
추가 및 읽기 모두를 위해 파일을 엽니다. 파일이 존재하는 경우 파일 포인터는 파일 끝에 있습니다. 파일이 추가 모드에서 열립니다. 파일이 없으면 읽고 쓸 수 있는 새 파일을 만듭니다.
12 ab+
이진 형식으로 추가하고 읽을 수 있도록 파일을 엽니다. 파일이 존재하는 경우 파일 포인터는 파일 끝에 있습니다. 파일이 추가 모드에서 열립니다. 파일이 없으면 읽고 쓸 수 있는 새 파일을 만듭니다.

파일 개체 속성

파일을 열고 하나의 파일 개체를 갖게 되면 해당 파일과 관련된 다양한 정보를 얻을 수 있습니다.

다음은 파일 개체와 관련된 모든 속성의 목록입니다. -

Sr.No 모드 및 설명
1 파일.닫힘
파일이 닫혀 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
2 파일.모드
파일이 열린 액세스 모드를 반환합니다.
3 파일 이름
파일의 이름을 반환합니다.
4 file.softspace
인쇄에 공백이 명시적으로 필요한 경우 false를 반환하고 그렇지 않으면 true를 반환합니다.

예시

#!/usr/bin/python# 파일 열기fo =open("foo.txt", "wb")print "파일 이름:", fo.nameprint "닫혔는지 여부:", fo.closedprint "열기 모드:", fo.modeprint "Softspace 플래그:", fo.softspace

출력

이것은 다음 결과를 생성합니다 -

파일명:foo.txtClosed or not:FalseOpening mode:wbSoftspace flag:0

close() 메소드

파일 객체의 close() 메서드는 기록되지 않은 정보를 모두 플러시하고 파일 객체를 닫습니다. 그 후에는 더 이상 쓸 수 없습니다.

파일의 참조 객체가 다른 파일에 재할당되면 Python은 자동으로 파일을 닫습니다. close() 메서드를 사용하여 파일을 닫는 것이 좋습니다.

구문

fileObject.close()

예시

#!/usr/bin/python# 파일 열기fo =open("foo.txt", "wb")print "파일 이름:", fo.name# 열린 filefo.close() 닫기 

출력

이것은 다음 결과를 생성합니다 -

파일 이름:foo.txt