일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- plt
- DataFrame
- 머신러닝
- INSERT
- Slicing
- 등비수열
- matplotlib
- 등차수열
- 통계학
- numpy
- SQL
- pandas 메소드
- tree.fit
- 스터디노트
- pandas
- Machine Learning
- 조합
- pandas filter
- 파이썬
- 문제풀이
- 재귀함수
- python
- 자료구조
- 리스트
- maplotlib
- 기계학습
- Folium
- barh
- 순열
- MacOS
Archives
- Today
- Total
코딩하는 타코야끼
[Python] 9-1강_Path 본문
728x90
반응형
1. Path (경로)
📍 경로(Path)
- 프로그램에서 사용할 자원의 위치를 path/경로 라고 한다.
- 파일 시스템에서는 파일이나 디렉토리가 있는 위치의 경로를 말한다.
📍 절대경로
- 자원의 전체 경로를 표현하는 방식
- 시작 경로부터 자원(파일, 디렉토리)이 있는 위치까지 표현한다.
- 시작 경로: Root Path
- windows: c :, d :
- Unix, Linux: /
- 시작 경로: Root Path
📍 상대경로
- 현재 작업 경로(위치)에서 부터 자원이 있는 위치까지 표현한다.
- 시작 경로: 현재 작업경로
구문)
- . : 현재 디렉토리
- .. : 상위 디렉토리
- / : 경로 구분자, 상위경로/하위경로
./../main.py
../main.py # "./"인 현재 디렉토리는 생략 가능.
📍 운영체제(O/S)별 경로구분자
- 윈도우즈: \ (역슬래쉬)
- 리눅스/유닉스: / (슬래쉬)
📍 os 메소드
🌓 os.getcwd( )
import os
# 현재 (working) 디렉토리 - 현재 main 모듈이 있는 경로.
os.getcwd()
>>>
/Users/Desktop/mose/python_basic/Anaconda/09입출력
🌓 os.chdir( )
# 현재 working directory 변경
os.chdir('/Users/Desktop/mose/python_basic')
print(os.getcwd())
>>>
/Users/Desktop/mose/python_basic
🌓 os.mkdir( ), os.makedirs( )
path = /Users/Desktop/mose/python_basic/test
# test 디렉토리를 생성
os.mkdir(path)
# 폴더가 존재하지 않으면 생성하고, 존재하는 경우에는 아무것도 하지 않습니다.
os.makedirs(path, exist_ok = True)
🌓 존재 여부
os.path.isdir('test1') # test1이 존재하고 디렉토리인지 여부
os.path.isfile('test1') #test1이 존재하고 파일인지 여부
os.path.exists('test1') #test1이 존재하는지 여부
🌓 os.rmdir( )
# rmdir(디렉토리) - 안에 파일이나 하위디렉토리가 있으면 Exception 발생.
os.rmdir('test1')
🌓 os.remove( )
# 파일 삭제
os.remove('test/a1.py')
🌓 os.listdir( )
# path 디렉토리 하위에 있는 디렉토리, 파일 이름을 리스트로 반환.
path = 'test'
os.listdir(path)
🌓 os.path.join( )
sub_list = os.lsitdir(path) # 파일 이름들이 들어있는 리스트.
print(os.path.join('a', 'b', 'c', 'd', 'e'))
print(os.path.join(path, sub_list[0]))
>>>
a/b/c/d/e
test/.DS_Store
📍 glob 모듈
- 디렉토리 안에 있는 파일/디렉토리들을 wild card 문자를 이용해서 다양하게 조회활 수 있다.
🌓 wild card
- : 0글자 이상의 모든 문자열
- ex) .jpg 확장자가 jpg인 모든 이름의 파일. a.png: 이름이 a로 시작하고 확장자가 png인 모든 파일
- ? : 한글자.
- ex) ab?de.jpg : 이름이 ab와 de사이에 아무글자나 한글자가 들어오는 jpg파일
-
- : 모든 하위 디렉토리. 하위디렉토리의 하위 디렉토리 포함.
from glob import glob
glob('test/*') # test 디렉토리 안에만 있는 모든 파일
glob('test/*') # 하위 디렉토리 안에 있는 모든 파일
glob('test/*.py') # test 디렉토리 안에 확장자가 "py"인 모든 파일 (자주 사용함!!)
glob('test/?.py') # ? -> 한글자인데 아무거나
2. pathlib 모듈울 이용해 경로 처리
📍 경로 합치기
import pathlib import Path
# Path: attribute로 파일/디렉토리 경로를 가지며
# 그 경로관련 처리를 하는 다양한 메소드를 제공.
#test 디렉토리를 다루는 경로객체 생성
path = Path('test')
# 경로 합치기
path1 = path / "dir1" / "dir2" / "my_file.txt"
print(path1)
>>>
test/dir1/dir2/my_file.txt
📍 경로 메소드
# 각 경로 요소들을 나눠서 튜플로 반환.
path1.parts
>>>
('test', 'dir1', 'dir2', 'my_file.txt')
# 마지막 경로가 파일일때 확장자를 반환. 확장자가 없을 경우 None 반환.
path1.suffix
>>>
'.txt'
# 확장자를 뺀 파일명 또는 디렉토리 이름을 반환
path1.stem
'my_file'
반응형
'[T.I.L] : Today I Learned > Python' 카테고리의 다른 글
[Python] 10강_Iterable 과 Decorator (0) | 2023.04.09 |
---|---|
[Python] 9-2강_입출력 (2) | 2023.04.09 |
[Python] 8강_예외처리 (0) | 2023.04.09 |
[Python] 7강_패키지 모듈 import (0) | 2023.04.05 |
[Python] 6강_객체지향 프로그 (0) | 2023.04.05 |