path (경로)
: 프로그램에서 사용할 자원의 위치를 path라고 한다. 경로를 지정하는 방법은 다 다르다.
Root path: 시작이라는 것을 표시
1) 절대경로: 경로가 같은 자원은 같은 경로.
2) 상대경로: 내가 어디있느냐에 따라 달라진다. 현재위치를 기준으로 시작한다. 무조건./ 로 시작
예를 들어, (./)test.py생략가능 = test.py
입출력( IO) Input Output
- 외부자원: 외부에 있는 데이터, file ,DB, 원격지컴퓨터(remote computer)
프로그램이 출력을 한다는 것은 외부자원에서는 입력을 한다는 것이다. 서로 맞물려있다. 데이터를 주고받는 것.
- stream: 데이터의 흐름.
대상이 다르면 데이터 주고받는 것이 다르다. 함수가 바뀐다.
ex. 전화 : 전화연결을 하려면 연결하고 -> 대화 -> close
파일열기(연결)
open(file, mode='r', encoding=None)
파일과 연결을 열어준다. 입력 또는 출력을 할수있는 stream객체를 준다. (리턴)
입력은 입력만 하고 출력은 출력만 한다. inout stream이라는 것은 없다.
w로 연결하는 순간 다 지워진다. (새로쓰기 모드), 제일 많이쓴다.
x : 파일이 있으면 지우지 않고 exception 된다.
기존 파일에 대한 내용을 함부로 지우고싶지 않으면 x모드하기
문자 → 이진: 인코딩(원래문자를 숫자로 바꾸는 것)
문자← 이진 : 디코딩 (숫자로 바뀐것을 원래형태인 문자로 바꾸는것)
원래있는것 → 다른형식으로 바꾸는 것을 인코딩이라고 한다.
연결이 끊기기 전까지는 다른프로그램이 파일을 연결하지 못한다.
ex. 전화할때 끊지 않으면 다른사람이 전화를 걸수 없다.
출력 메소드
: 연결된 파일에 출력할 Data출력
import os
os.chdir(r"C:\Users\Playdata\Desktop\class")
print(os.getcwd())
입력 메소드
- read() : 문자열(text mode), bytes(binary mode)
연결된 파일의 내용을 한번에 모두 읽어 들인다.
- readline() : 문자열(text mode), bytes(binary mode)
한 줄만 읽는다. text 입력일 경우만 사용가능. 읽은 라인이 없으면 빈 문자열을 리턴한다.
- readlines() : 리스트
한번에 다 읽은 뒤 각각의 라인을 리스트에 원소로 담아 반환한다.
with block
파일과 입출력 작업이 다 끝나면 반드시 연결을 닫아야 한다.
open함수를 with block과 연결해서 쓴다
with block안에서 일하다가 exception이 발생해도 닫고 나온다.
exception이 발생하지 않아도 닫고나온다. close()가 자동으로 실행. 무조건 실행된다. finally와 비슷
'데이터 분석일기 > python' 카테고리의 다른 글
정규표현식 (Regular Expression) (1) | 2023.08.29 |
---|---|
Iterable, Iterator, Generator와 Decorator (0) | 2023.08.28 |
예외처리 (0) | 2023.08.24 |
객체지향 프로그래밍 (0) | 2023.08.21 |
함수 (0) | 2023.08.17 |