본문 바로가기
코딩 연습/코딩배우기

[python] 파이썬에서 환경 변수 읽어오기, 현재 작업 디렉토리 등

by good4me 2020. 10. 8.

goodthings4me.tistory.com

 

파이썬에서 환경 변수 읽어오기

import os
env = os.environ

for i, key in enumerate(env):
    print('%s : %s' %(i, key))
   
   
for key, value in env.items():
    print('{} : {}'.format(key, value))
    
    


[실행 결과]

0 : ALLUSERSPROFILE
1 : APPDATA
2 : COMMONPROGRAMFILES
3 : COMMONPROGRAMFILES(X86)
4 : COMMONPROGRAMW6432
5 : COMPUTERNAME
6 : COMSPEC
7 : DRIVERDATA
8 : HOMEDRIVE
9 : HOMEPATH
10 : LOCALAPPDATA
11 : LOGONSERVER
12 : NUMBER_OF_PROCESSORS
13 : ONEDRIVE
14 : OS
15 : PATH
16 : PATHEXT
17 : PROCESSOR_ARCHITECTURE
18 : PROCESSOR_IDENTIFIER
19 : PROCESSOR_LEVEL
20 : PROCESSOR_REVISION
21 : PROGRAMDATA
22 : PROGRAMFILES
23 : PROGRAMFILES(X86)
24 : PROGRAMW6432
25 : PSMODULEPATH
26 : PUBLIC
27 : SESSIONNAME
28 : SYSTEMDRIVE
29 : SYSTEMROOT
30 : TEMP
31 : TMP
32 : TMPDIR
33 : USERDOMAIN
34 : USERDOMAIN_ROAMINGPROFILE
35 : USERNAME
36 : USERPROFILE
37 : WINDIR
38 : CONDA_PREFIX
39 : LANG
40 : SPYDER_ARGS
41 : QT_SCALE_FACTOR
42 : QT_SCREEN_SCALE_FACTORS
43 : SPY_EXTERNAL_INTERPRETER
44 : SPY_UMR_ENABLED
45 : SPY_UMR_VERBOSE
46 : SPY_UMR_NAMELIST
47 : SPY_RUN_LINES_O
48 : SPY_PYLAB_O
49 : SPY_BACKEND_O
50 : SPY_AUTOLOAD_PYLAB_O
51 : SPY_FORMAT_O
52 : SPY_BBOX_INCHES_O
53 : SPY_RESOLUTION_O
54 : SPY_WIDTH_O
55 : SPY_HEIGHT_O
56 : SPY_USE_FILE_O
57 : SPY_RUN_FILE_O
58 : SPY_AUTOCALL_O
59 : SPY_GREEDY_O
60 : SPY_JEDI_O
61 : SPY_SYMPY_O
62 : SPY_RUN_CYTHON
63 : SPY_TESTING
64 : PYTHONPATH
65 : JPY_INTERRUPT_EVENT
66 : IPY_INTERRUPT_EVENT
67 : JPY_PARENT_PID
68 : TERM
69 : CLICOLOR
70 : PAGER
71 : GIT_PAGER
72 : MPLBACKEND


ALLUSERSPROFILE : C:\ProgramData
APPDATA : C:\Users\사용자명\AppData\Roaming
COMMONPROGRAMFILES : C:\Program Files\Common Files
COMMONPROGRAMFILES(X86) : C:\Program Files (x86)\Common Files
COMMONPROGRAMW6432 : C:\Program Files\Common Files
COMPUTERNAME : 컴퓨터명
COMSPEC : C:\WINDOWS\system32\cmd.exe
DRIVERDATA : C:\Windows\System32\Drivers\DriverData
HOMEDRIVE : C:
HOMEPATH : \Users\사용자명
LOCALAPPDATA : C:\Users\사용자명\AppData\Local
LOGONSERVER : \\xxxxxxx
NUMBER_OF_PROCESSORS : 8
ONEDRIVE : C:\Users\xxx xxxxx\OneDrive
OS : Windows_NT

good4me.co.kr

 

파이썬의 디렉토리(폴더)와 파일 경로 다루기

# 폴더 및 파일 경로에 대한 함수는 os 모듈에 있고, 
# os.path 모듈은 파일경로와 파일명에 대한 함수들을 제공함


# 현재 작업 폴더
print(os.getcwd())  


# 경로 중 폴더명 얻기
print(os.path.dirname('C:\Program Files\Google\Chrome\Application\chrome.exe'))
# C:\Program Files\Google\Chrome\Application


# 경로 중 파일명 얻기
print(os.path.basename('C:\Program Files\Google\Chrome\Application\chrome.exe'))
# chrome.exe


# 절대경로 얻기
print(os.path.abspath('.\\dev'))
# D:\Python\dev


# 경로 중 폴더명과 파일명 얻기
print(os.path.split('C:\Program Files\Google\Chrome\Application\chrome.exe'))
# ('C:\\Program Files\\Google\\Chrome\\Application', 'chrome.exe')


# 경로를 나눠서 얻기 (리스트로 반환)
print('C:\Program Files\Google\Chrome\Application\chrome.exe'.split(os.path.sep))
# ['C:', 'Program Files', 'Google', 'Chrome', 'Application', 'chrome.exe']


# 경로 병합
print(os.path.join('C:\Program Files\Google', 'Chrome', 'chrome.exe' ))
# C:\Program Files\Google\Chrome\chrome.exe


# 파일 경로 존재 여부
print(os.path.isfile('C:\Program Files\Google\Chrome\Application\chrome.exe'))
# True

if os.path.isfile('C:\Program Files\Google\Chrome\Application\chrome.exe'):
    print(os.path.basename('C:\Program Files\Google\Chrome\Application\chrome.exe'))
# chrome.exe


# 파일 크기
print(os.path.getsize('C:\Program Files\Google\Chrome\Application\chrome.exe'))
# 2169840


# 파일 및 폴더의 경로 존재 여부
print(os.path.exists('C:\Program Files\python'))
# False

print(os.path.isdir('C:\Program Files\Google'))
# True


# 폴더 내 하위폴더 및 파일 리스트
print(os.listdir('C:\Temp'))
# ['AUtempR', 'urllib_response.txt']



from os import getcwd 
where_am_i = getcwd() # 현재 작업 디렉토리
print(where_am_i)

 

sys 모듈

import sys

print(sys.platform) 
# win32 --> 현재 파이썬 실행 플랫폼

print(sys.version)

print(sys.version_info)

print(sys.maxsize)

print(sys.maxsize + 1)

print(type(sys.maxsize))
# <class 'int'>

 

datetime 모듈

from datetime import datetime, date
from time import sleep
import random

print(date.today())
# 2020-10-08
print(date.today().day)
# 8
print(date.today().month)
# 10
print(date.today().year)
# 2020


odds = []
for i in range(1, 61):
    if i % 2 == 1:
        odds.append(i)  # 홀수 초 추가

print(odds, '\n')
# [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 
# 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59] 

print(help(random.randint))
'''
Help on method randint in module random:
randint(a, b) method of random.Random instance
    Return random integer in range [a, b], including both end points.
'''


# 현재 초의 홀수 여부 판단 후 randint(1, 5) 결과를 더한 후 sleep() 함수 사용

for i in range(5):
    right_now = datetime.today().second

    if right_now in odds:
        print('현재', right_now, '초', '(홀수 초)')
    else:
        print('현재', right_now, '초', '(홀수 초 아님)')
    rnd = random.randint(1, 5)

    print('{} + {}초 = {}초\n'.format(right_now, rnd, right_now + rnd))
    sleep(rnd)
 
 
 
[실행 결과]

현재 32 초 (홀수 초 아님)
32 + 5초 = 37초

현재 38 초 (홀수 초 아님)
38 + 2초 = 40초

현재 40 초 (홀수 초 아님)
40 + 5초 = 45초

현재 45 초 (홀수 초)
45 + 5초 = 50초

현재 50 초 (홀수 초 아님)
50 + 3초 = 53초

 

 

[참고] Head First Python

 

댓글