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