반응형
[python] 환경변수 관련. os, sys
import os
import sys
print(" os 환경변수 environ \n")
print(" * 모든 시스템 환경 변수 ")
print(" os.environ() : ", os.environ)
print('')
for key, value in os.environ.items():
print('{}: {}'.format(key, value))
print(" * 특정 시스템 환경 변수 ")
print(" os.environ('JAVA_HOME') : ", os.environ['JAVA_HOME'])
# 존재하지 않는 환경 변수를 가져오면, 에러는 발생하지 않고 None이 리턴
result = os.environ.get('NOT_EXISTS')
print(result)
print(" * 현재 코드가 실행되는 디렉토리까지 문자열 ")
print(" os.getcwd() : ", os.getcwd())
print(" * 현재 실행 파이썬 스크립트의 PID 출력 ")
print(" os.getpid() : ", os.getpid() )
print(" * 현재 워킹 디렉토리 변경 ")
print(" os.chdir() : " )
print(" import os ")
print(" print(os.getcwd()) #/Users/projects/workspace ")
print(" os.chdir( os.getcwd()+'/scripts/src' ) ")
print(" print(os.getcwd()) #/Users/projects/workspace/scripts/src ")
print(" * 디렉토리 만들기 : mkdir(path[,mode]) ")
#_result = os.mkdir("test_dir")
#print(_result)
print(" * path에 존재하는 파일과 디렉토리들의 리스트 반환 ")
_result = os.listdir(".")
print(" os.listdir('.') : ", _result )
print('')
for x in _result:
print('{}'.format(x))
# 인자로 전달된 디렉토리를 재귀적 생성
# - 이미 **디렉토리가 생성**되어 있는 경우나 **권한이 없어 생성할 수 없는 경우**는 **예외**발생
print(" * 디렉토리 만들기 : makedirs(path[,mode]) 이미 **디렉토리가 생성**되어 있는 경우나 **권한이 없어 생성할 수 없는 경우**는 **예외**발생")
#_result = os.makedirs("test_dir")
print(" * 하위 폴더를 for문으로 탐색 : os.walk(path) ", " 기본적으로 top-down임. bottom-up으로 하고 싶다면 ")
if __name__ == "__main__":
root_dir = "./"
for (root, dirs, files) in os.walk(root_dir):
print("root : " + root)
if len(dirs) > 0:
for dir_name in dirs:
print("dir: " + dir_name)
if len(files) > 0:
for file_name in files:
print("file: " + file_name)
os.walk(root_dir, topdown=False) #bottom-up으로 하고 싶다면,
print(" * 'A'+'/'+'B' 로 문자열을 return 한다. : os.path.join('A','B) ")
print(" os.path.isdir(): directory인가? ")
print(os.getcwd(), " ==> " , os.path.isdir(os.getcwd()) )
print(" os.path.abspath(path): abs 경로 반환 ")
print(" 현재 ./sketchpy_001.py 파일의 절대경로 : ", os.path.abspath("./sketchpy_001.py"))
print(" os.path.dirname(path) : 경로의 제일 뒤 빼고 반환 ")
print(" os.path.exists(path) : 지정한 path에 파일, 디렉토리가 존재하는지 유(True)/무(False) 리턴 ")
print("os.path.isfile(path) ")
print("os.path.isdir(path) ")
print("os.path.isabs() ")
print("")
import glob
print( " glob.glob(os.getcwd()) : ls와 유사한 기능을한다, 정규식 사용 가능 (* ? [0-9])" )
print(" (workspace) $ ls = glob.glob(os.getcwd()+'/*')) ")
print(" list로 return ")
print( glob.glob(os.getcwd()))
print( glob.glob(os.getcwd() + "/*"))
print( "" )
print(" glob.iglob(path) ")
print(" - glob.glob와 다르게 iterator로 반환 ")
print(" - list로 담지 않기 때문에 결과가 매우 많다면 유용함 ")
for i in glob.iglob(os.getcwd()+'/*'):
print(i)
반응형
'프로그래밍 > Python' 카테고리의 다른 글
React와 Django로 웹 서비스 뚝딱 세팅하기 (feat. Webpack, Redux, django rest framework, PWA) (0) | 2023.01.09 |
---|---|
[python] 데이터 형식 변환 (Data Type Conversion) (0) | 2022.12.22 |
[PYTHON] 파일 인코딩 관련 (0) | 2022.12.20 |
[python] psutil - Python에서 프로세스 및 시스템 모니터링을 위한 크로스 플랫폼 lib. (0) | 2022.12.14 |
[python] Python Package Index (PyPI) : https://pypi.org/ (0) | 2022.12.13 |