expanduser(path) : 입력받은 경로 안에 ~ 사용자 디렉터리를 포함한 절대 경로로 반환
expandvars(path) : 경로안의 환경변수를 확장해준다
getatime(path) : 최근 접근 시간 반환
getmtime(path) : 최근 변경 시간 반환
getctime(path) : 생성시간을 반환
getsize(path) : 파일 크기를 반환
isabs(path) : 절대경로 인지 아닌지 검사
isfile(path) : 파일인지 아닌지 검사
isdir(path) : 폴더인지 아닌지 검사
join(path1[, path2 [, …]]) : 입력받은 경로들은 연결
normacase(path) : 해당 os에 맞도록 문자열들을 정규화
normpath(path) : 경로에대한 정규화
split(path) : 폴더부분과 파일부분을 분리
splitdrive(path) : 드라이버 부분과 나머지 부분을 분리
splitext(path) : 확장자 부분과 그외 부분으로 나눈다
glob
📌 윈도우의 dir 명령어나 리눈그의 ls 명령어와 비슷한 기능을 제공하는 모듈이다. (해당경로 내에서 canon이 포함되어있는 이름 검색)
데이터베이스
📌 SQLite3는 디스크 기반의 가벼운 데이터베이스 라이브러리이며, python에서는 기본적으로 제공되고 있다. 가볍고 별도의 서버를 필요로 하지 않기 때문에 노키아의 maemo나 구글의 안드로이드, 애플의 아이폰에서도 널리 사용되고 있다.
데이터베이스 연결
📌 데이터베이스를 사용하려면 실제 저장된 파일과 연결해야 한다. 아래의 예제코드는 test.유 파일과 연결된 connection 객체를 생성하는 예제이다. 해당 db파일이 없는 경우, 해당 파일이 생성하게 되며, 파일이 이미 존재하는 경우에는 그 db파일을 그대로 사용한다.
SQL문 수행
📌 Connection을 생성했으니, SQL문을 수행하는 법을 알아보도록 한다. 아래 예제를 보면 커서 객체를 생성한 후, 원하는 SQL문을 수행하는 것을 볼 수 있다.
레코드 조회
📌 입력된 데이터를 가져오는 방법으로 Exexcute 메소드를 이용하여 SELECT문을 수행하면, 커서 객체를 이터레이터처럼 이용해 결과를 가져올 수 있다.
또한 fetchone은 조회된 결과집합으로부터 하나의 row객체를 가져오며, fetchmany는 여러 개의 결과를, fetchall은 모든 결과를 가져 온다.
아래 예제를 보면 fetch에 대한 동작 방식을 이해할 수 있다.
트랜잭션 처리
📌 앞의 예제를 수행하고 나면 사실 db파일에는 아무런 결과가 저장되어 있지 않다. Commit을 하지 않았기 때문이다.
다음과 같이, commit을 하게되면 다음에 수행할 경우 기존 결과가 db파일에 저장되어 있는 것을 확인 할 수 있다. (commit.db 에 저장)
(commit.db 에 저장된 내용을 가져옴)
자료형
📌 SQLite3 에는 NULL, INTEGER, REAL, TEXT, BLOB 의 5가지 자료형이 제공된다. 그에 해당하는 파이썬의 자료형은 아래 표와 같다.