1. 모듈 불러와서 사용하기 (sys.path)
sys.path 는 파이썬 모듈들이 저장되어 있는 위치를 나타낸다. 이 위치에 있는 파이썬 모듈은 경로에 상관없이 어디에서나 불러올 수 있다.
>>> import sys
>>> sys.path
['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs',
'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages']
>>>
2. 경로 추가하기
import sys
sys.path.append("C:/usr/mycode")
위와 같이 파이썬 파일에서 sys.path.append 를 사용하면 경로 이름을 추가할 수 있다. 이렇게 하면 C:/usr/mycode 디렉터리에 있는 파이썬 모듈을 불러와서 사용할 수 있다.
#파일 경로를 표시할 때 명령 프롬프트 창에서는 / , \ 다 상관 없지만 소스코드 안에서는 / 를 사용해야 한다.
pickle 은 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈이다. pickle 모듈의 dump 함수는 딕셔너리 객체인 data 를 그대로 파일에 저장한다.
>>> import pickle
>>> f = open("test.txt", 'wb')
>>> data = {1: 'python', 2: 'you need'}
>>> pickle.dump(data, f)
>>> f.close()
다음 pickle.dump 로 저장한 파일을 pickle.load 를 사용하여 원래 있던 딕셔너리 객체 상태 그대로 불러온다.
>>> import pickle
>>> f = open("test.txt", 'rb')
>>> data = pickle.load(f)
>>> print(data)
{2:'you need', 1:'python'}
os 모듈은 환경 변수나 디렉터리, 파일 등의 os 자원을 제어할 수 있게 해주는 모듈이다.
- 내 시스템의 환경 변수값을 알고 싶을 때 -> os.environ
필자의 시스템의 PATH 환경 변수 내용을 보면 아래와 같이 표시된다.
>>> os.environ['PATH']
'C:\\ProgramData\\Oracle\\Java\\javapath;...생략...'
- 디렉터리 위치 변경 -> os.chdir
os.chdir("C:\WINDOWS")
- 디렉터리 위치 돌려받기(현재 위치) -> os.getcwd
os.getcwd()
'C:\WINDOWS'
- 시스템 명령어 호출하기 -> os.system
시스템 자체의 프로그램이나 기타 명령어를 파이썬에서 호출한다. os.system("명령어") 로 사용한다. 현재 디렉터리에서 시스템 명령어 dir을 실행하면 아래와 같다.
os.system("dir")
- __file__
이 코드는 해당 코드를 가지는 파이썬 파일의 이름 혹은 경로이며 실행한 위치에서의 상대경로를 포함한다.
import os
print(__file__)
- 절대경로 구하기 -> os.path.abspath()
아래는 실행 위치와 상관없이 파이썬 파일의 절대경로를 가질 수 있다.
import os
path = os.path.dirname(os.path.abspath(__file__))
print(path)
아래와 같이 사용하면 해당 경로에 있는 파일 리스트 이름들을 나열할 수 있다.
import os
path = os.path.dirname(os.path.abspath(__file__))
for files in os.listdir():
p = os.path.abspath(files)
print(p)
- 상대경로 구하기 -> os.path.relpath()
import os
path = os.path.dirname(os.path.relpath(__file__))
print(path)
- 하위 디렉터리 검색 -> os.walk(path)
os.walk() 은 인자로 받은 경로에 대해 하위 디렉터리를 검색한다.
import os
PATH = os.path.dirname(os.path.abspath(__file__))
#위의 PATH 결과로 나온 dir_name
dir_name = 'data'
for path, dirs, files in os.walk(dir_name):
print(path, dirs, files)
- os.path.join
import os
PATH = os.path.dirname(os.path.abspath(__file__))
dir_name = 'data'
for path, dirs, files in os.walk(dir_name):
print(os.path.join(PATH, path))
- os.path.splitext() 특정 확장자 추출 가능
import os
PATH = os.path.dirname(os.path.abspath(__file__))
dir_name = 'data'
for path, dirs, files in os.walk(dir_name):
dir_path = os.path.join(PATH, path)
for file in files:
name, ext = os.path.splitext(file)
if ext == '.png':
file_path = os.path.join(dir_path, file)
print('find file : ', file_path)

| How to Convert MP4 to GIF in Python using Moviepy (0) | 2023.05.06 |
|---|---|
| 파이썬 콜백함수, 람다, map(), filter() 함수 (0) | 2022.01.20 |
| 파이썬 class 에 대해서 (0) | 2021.12.30 |
| #1 opencv study (0) | 2021.08.10 |
| 파이썬 반복문 제어 ) break 과 continue 구분 (0) | 2021.07.13 |
댓글 영역