파일 입출력 방법
파일을 열어서 읽고, 쓰고, 덧붙이는 방법
* open(filename, mode) 내장 함수로 filename 이름을 지닌 file 객체를 얻고 작업 수행 후
close()를 호출하여 작업 프로세스 자원 점유 해제
파일 처리 모드의 종류 : open 내장 함수의 두 번째 인자 mode 설명(생략하면 r모드 설정)
mode 간단 설명
‘r’ 읽기 전용(기본 모드)
‘w’ 쓰기 전용
‘a’ 파일 끝에 추가
‘rb’ 이진 파일 읽기 전용
‘wb’ 이진 파일 쓰기 전용
‘ab’ 이진 파일 끝에 추가
파일 입출력 방법
os.getcwd( ) → 현재 작업중인 폴더를 알아보는 함수
라인 단위로 파일 읽기
* 파일 객체의 반복자(iterator) 이용하기
* readline() : 한 번에 한 줄씩 읽음 / readlines() : 파일 전체를 라인 단위로 끊어 리스트에 저장
* xreadlines() : 파일 전체 읽기 X, 상황별로 필요한 라인만 읽음
파일 포인터 : 파일 내에서 현재 위치를 가리키고 있음
파일 접근 방법
* 순차 접근 (기본 방식) : 파일을 앞에서부터 순차적으로 읽고 쓰는 방식
* 임의 접근 : 파일 내 임의 위치에서 읽고 쓰는 방식
- seek(n) : 파일의 가장 첫 번째 위치에서 n번째 바이트로 포인터 이동
- tell() : 파일 내 현재 포인터 위치를 반환
표준 출력 방향 전환
sys.stdout : 표준 출력
sys.stderr : 표준 에러 출력 → 파일 객체로 변환하면 모든 표준 출력(print)는 해당 파일로 저장됨
sys.stdin : 표준 입력
표준 출력을 파일로 저장하기
* 표준 출력 저장해 두기 (ex: stdout = sys.stdout)
* 파일 객체로 표준 출력 변경 (ex: sys.stdout = f)
* 표준 출력 원상 복구 ( ex: sys.stdout = stdout)
>> (부등호 2개) : 표준 출력이 아닌 다른 쪽으로 출력
StringIO 모듈의 StringIO 클래스 객체
* 파일 객체처럼 입출력 가능한 문자열 객체
* StringIO에 지원되는 메소드는 파일 객체가 지원하는 메소드와 거의 동일
* getvalue() 메소드 → 현재까지 담아 놓은 전체 내용 반환
파일로의 지속 모듈
지속성 : 프로그램 내 생성된 각종 객체들을 해당 프로그램 종료 이후에도 존재하게 만들고, 동일하거나 다른 프로그램에서 사용할 수 있도록 하는 기능
지속성 기능을 지원하는 모듈
DBM 관련 모듈 : anydbm, dbm, gdbm, dbhash, dumbdbm
* anydbm : 시스템에서 사용 가능한 모듈 중 가장 최적의 모듈 반환
기본적으로 dumbdbm을 반환
사전 자료형을 사용하는 것과 동일한 방법으로 사용
* pickle 모듈 : 파이썬 객체를 저장하는 일반화된 지속성 모듈
파이썬의 기본 객체 뿐만 아니라 사용자 정의의 복잡한 객체도 저장 가능
기본적으로 텍스트 모드로 저장하지만 이진 모드로도 저장 가능
* pickle.dump(저장하고자 하는 객체, 저장하는 위치)
* pickle.load(저장했던 위치) → 저장했던 객체 불러옴
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 파이썬 함수 (0) | 2016.08.11 |
---|---|
[Python] 파일과 디렉토리 다루기 (0) | 2016.08.11 |
[Python] 사전 활용법 (0) | 2016.08.11 |
[Python] 시퀀스 자료형, 리스트, 리스트 내포 (0) | 2016.08.10 |
[Python] 파이썬 제어문 (0) | 2016.08.08 |