[파이썬] 파일 IO, 파일 읽고 쓰기, 디렉터리 조회 - Whitmem
[파이썬] 파일 IO, 파일 읽고 쓰기, 디렉터리 조회
파이선 프로그래밍
2023-06-12 05:57 게시 51333993df56f001be09

0
0
85
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
파이썬에서는 FileIO 처리가 워낙 간단하기 때문에 Text 처리를 할 때 직관적으로 처리할 수 있습니다. 간단하게 사용할 때 쓸만한 함수를 언급합니다.
파일 쓰기
파일을 쓰기 위해서는 open()을 통해 'w' 또는 'a'모드로 연 뒤, write()메소드를 통해 데이터를 작성합니다. 데이터를 모두 쓴 뒤 close()하여 파일 스트림을 닫습니다.
파일 쓰기
open()의 첫 번째 인자는 파일의 경로이며, 두번 째 인자는 모드입니다. 파일을 쓰려는 경우, 모드는 'w'이며, 파일의 첫 위치부터 다시 씁니다. 만약 기존에 파일이 존재하고 이어서 쓰기 위해서는 'a'모드를 적용해야 합니다.
해당 소스코드를 실행하면 디버그 위치에 파일이 생성된 것을 볼 수 있습니다.
생성된 파일
파일 읽기
파일 읽기도 역시 간단합니다. open()을 통해 'r' 모드로 연 뒤, read() 를 통해 데이터를 모두 가져옵니다. 모두 가져온 뒤 close()하여 파일 스트림을 닫습니다.
파일 읽기
또 다른 방법이 존재하는데, readline()와 반복문을 통해 한 줄씩 가져올 수 있습니다.
한 줄씩 읽기
여기서 주의할 점은, 끝에 도달한 경우 None이 아닌 빈 공백을 반환합니다. 텍스트 한 줄이 비어있다고 하더라도 빈 공백이 아닌, 하나의 개행 문자\n까지 포함되어 입력이 되기 때문에 빈 공백인 경우 완전 끝에 도달한 것임을 의미하며, 단순히 줄만 있는 비어있는 행의 경우 "\r"를 받습니다. 그렇기 때문에 결과에서는 print()만 했는데 엔터가 두번 된 것을 볼 수 있습니다. 이는 수신된 readline 행에 \n 가 끝에 포함되어 있고, print()함수에 의해 한번 더 개행된 것 입니다.
개행이 두 번씩 된 모습
디렉터리 및 파일 목록 조회
파일 목록을 조회하기 위해서는 os 모듈을 임포트해야 합니다. 그런 뒤 listdir(경로) 메소드를 통해 해당 디렉터리에 존재하는 파일들의 파일 명 또는 디렉터리 명을 리스트로 받아볼 수 있습니다.
※참고 ./는 현재 디버깅 중인 디렉터리 위치, ../는 현재 디렉터리에서 이전 위치, /는 루트 디렉터리(시스템)을 의미합니다.
유의할 점은, listdir은 디렉터리, 파일을 모두 가져오기 때문에 os.path.isdir(경로)을 통해 파일인지 디렉터리인지 확인하는 작업을 별개로 해야 합니다.
존재 유무 확인
파일이나 디렉터리의 존재 유무를 확인하기 위해서는 os.path.exists(경로)를 이용합니다. 이 함수는 파일이나 디렉터리 관련 없이 존재하는지 여부를 반환합니다.
댓글 0개
댓글을 작성하는 경우 댓글 처리 방침에 동의하는 것으로 간주됩니다. 댓글을 작성하면 일회용 인증키가 발급되며, 해당 키를 분실하는 경우 댓글을 제거할 수 없습니다. 댓글을 작성하면 사용자 IP가 영구적으로 기록 및 부분 공개됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.