파일은 크게 텍스트 파일와 바이너리 파일로 나뉘는데, 이번에는 텍스트 파일의 파일처리에 대해서 알아봅니다.
기본적으로 파일을 열 때에는 open() 함수를 사용합니다.
파일 객체 = open(디렉토리 경로와 파일명, 문자열 읽기모드)
첫 번째 매개 변수로는 파일의 경로를 입력하고, 두 번째 매개 변수로는 파일의 읽는 방법을 지정합니다.
파일의 문자열 모드는 크게 세 가지가 있습니다.
w | write 모드 (새로쓰기 모드 ) |
a | append 모드 (이어쓰기 모드) |
r | read 모드 (읽기 모드) |
파일을 닫을 때에는 close()함수를 사용합니다.
모든 파일은 open 후에 close 를 하는 버릇을 꼭꼭 가져야해요.
우선 문자열 읽기 모드 중 w와 a모드를 확인해볼게요.
w와 a모드에는 특별한 기능이 있습니다.
디렉토리 경로에 현재 없는 파일이거나 없는 경로를 입력할 경우에는 코드에 입력한 파일명대로 파일이 생성됩니다.
r모드에서는 존재하지 않는 파일을 열 수 없으므로 에러가 발생합니다.
w로 텍스트 파일을 하나 만들어 볼게요.
이렇게 작성해서 실행하면 현재 코드가 실행되는 곳에서 txt 파일이 생성된 것을 확인할 수 있습니다.
open()함수와 close() 함수 사이가 복잡해질 때 close 함수를 잊어버려서
프로그램이 닫히지 않은 상태로 방치되는 것을 미연에 방지하기 위해 with 키워드를 사용해서 작성할 수 있습니다.
with 키워드를 사용하며 with 구문이 종료될 때 자동으로 프로그램이 종료됩니다.
프로그램이 외부 파일이나 외부 네트워크와 통신할 때 데이터가 흐르는 길을 만드는 것이 스트림stream 이에요.
흐르는 강줄기처럼 나있는 길이죠. open() 함수는 파일로 흐르는 길을 만들어주는 것이고
close() 함수는 프로그램에서 파일로 흐르는 길을 말해요.
with 키워드는 open() 함수 이후에 close() 함수로 stream을 닫아주는 것을 잊어버리지 않기 위해
미연에 방지하기 위한 구문이라고 생각하시면 됩니다.
다음은 r모드를 확인해볼게요.
텍스트의 읽기 모드입니다. read()함수를 사용합니다.
파일객체.read()
조금 전에 위에서 love 로 작성된 텍스트 파일을 읽어볼게요.
이렇게 하면 조금 전에 입력했던 멋진 사랑이 출력됩니다..
이제 이것을 응용해서 랜덤하게 데이터를 작성하는 것을 해볼게요.
지금부터 1000명의 사람을 만들건데 이름 / 몸무게 / 키 순으로 랜덤하게 작성해서 텍스트 파일로 저장할게요.
우선 랜덤한 숫자들을 뽑아야 합니다.
데이터를 한 줄씩 받아올 때에는 for 반복문을 작성하면 됩니다.
총 1000명의 이름과 몸무게와 키가 생성되었습니다!
파이썬은 배울수록 참 편리하다는 생각과 함께, 문법은 쉽지만 응용이 어렵다는 것을 새삼 느낍니다 ㅠㅜ
논리력을 키우고 알고리즘을 많이 연습해봐야겠어요.
'파이썬 > 파이썬 입문 공부일지' 카테고리의 다른 글
[VS Code] Mac, window 맥 윈도우 단축키 모음 (0) | 2024.05.27 |
---|---|
파이썬 공부일지 21. key 키워드 매개변수(min, max) (0) | 2022.10.20 |
파이썬 공부일지 19. 함수 활용 (튜플, 람다)! (0) | 2022.10.18 |
파이썬 공부일지 18. 함수의 활용(재귀함수)! (1) | 2022.10.14 |
파이썬 공부일지 17. 함수 만들기! (0) | 2022.10.14 |