1. File I/O 란 ?
- File I/O란 프로그램에서 파일을 저장하고 불러오는 모든 것들을 의미합니다.
- File 에는 txt , png, json, xlsx 등 여러가지 종류가 있습니다
2. 절대경로/ 상대경로
2-1. 절대경로
파일의 root부터 해당 파일까지의 전체경로(URL)을 의미한다.
- 일반적으로 다른 사람이 만든 문서 혹은 파일에 접근할 때 사용한.
- 어느 곳에서든 경로에 접근할 수 있다는 장점이 있다.
- 경로가 변경되면 일일히 수정해야한다는 단점이 있다.
ex) C:\Users\username\Desktop\filename.txt
2-2. 상대경로
현재 작업하고 있는 파일 위치를 기준으로 한 파일의 경로이다.
- / : 최상위 경로
- ./ : 현재 디렉토리
- ../ : 상위 디렉토리
2.3 절대경로와 상대경로의 차이점
- 절대경로는 정해진 경로로만 이동해서 후에 경로가 변경되면 일일히 수정해야한다.
- 상대경로는 상위 폴더명이 수정되어도 자기 자신을 기준으로 참조하기 때문에 유동적으로 파일을 참조할 수 있다.
- 절대 경로는 외부 파일을 참조할 때 주로 사용하며, 상대 경로는 내부 파일을 참조할 때 주로 사용한다.
3. 텍스트 파일을 여는 방법
- f.read()를 통해 폴더 안에 있는 test.txt 를 read mode로 열어보기
- read - r : 읽어오기
- (over) write - w : 전체내용을 지금부터 실행하는 걸로 덮어쓰기
- append - a : 내용 추가하기
- f.readline()를 통해 폴더안에 있는 test.txt를 read mode로 열어보기
- 주어진 파일에 있는 첫번째 줄을 하나의 string으로 불러옴
- f.readlines()를 통해 폴더 안에 test.txt를 read mode로 열어보기
- 주어진 파일에 있는 모든 텍스트를 한 줄 단위씩 리스트의 원소로 가져옴
💡 Encoding 설정
macOS에서 한글로 편집한 txt 파일을 window에서 열 때 → encoding = 'utf-8'
윈도우에서 한글로 편집한 txt 파일을 macOS에서 열 때 → encoding = 'cp949'
연습문제
Q. test.txt.를 읽어와서 한글자 짜리를 다 지우고 다시 저장하고 싶을 땐 어떻게 해야할까 ?
- strip을 활용하여 문자열 제거 → strip 함수를 사용하면 문자열에서 공백 또는 문자열 제거
- str.strip(a) : 문자열의 시작과 끝에 있는 문자(a)를 제거
- str.lstrip(a) : 문자열 시작에 있는 문자(a)를 제거 (선행문자 제거)
- st.rstrip(a) : 문자열의 끝에 있는 문자(a)를 제거 (후행문자 제거)
- 글자의 길이가 1글자 이상인 글자들을 가져옴 (list의 comprehension 활용)
- write를 사용하여 저장
'STUDY > Python' 카테고리의 다른 글
[Python] Data Structure (0) | 2024.05.02 |
---|---|
[python] 리스트에서 원하는 위치 요소 제거 (0) | 2024.04.02 |
[Python] Call by Assignment (0) | 2024.03.29 |
[Python] sort 와 sorted의 차이 (0) | 2024.03.29 |
[Python] 리스트에서 n번이상 연속으로 나타나는 숫자 찾기 (0) | 2024.03.28 |