1]Time module
모듈은 직접 정의해도 되지만 일단은 기본적인 time 모듈을 사용해 보겠습니다. time 모듈에서 현재 시각을 구하는 함수는 time()입니다.
>>> import time
>>> time.time()
1444532446.467043
>>> time.ctime()
'Sun Oct 11 12:00:50 2015'
>>> type(_)
<class 'str'>
사람들이 좀 더 쉽게 읽을 수 있는 시간을 구하려면 ctime() 함수를 사용하면 됩니다.
여기서 type() 함수의 인자로
_
를 사용했는데 파이썬 IDLE에서 _
는 가장 최근의 반환값을 바인딩하고 있는 변수입니다. <class 'str'>
, 즉 문자열 타입임을 알 수 있습니다.
time.ctime()의 반환값에서 연도(year)만 구하려면 어떻게 해야 할까요? 앞서 time.ctime()의 반환값이 문자열이었으므로 문자열에서 제공하는 메서드를 사용하면 되겠죠?
>>> cur_time = time.ctime()
>>> print(cur_time.split(' ')[-1])
2015
time 모듈의 sleep() 함수는 인자로 전달되는 값에 해당하는 초(sec) 동안 코드의 실행을 멈추는 역할을 합니다.코드를 실행하면 파이썬 IDLE에서 숫자가 1초 간격으로 출력되는 것을 확인할 수 있습니다.
>>> for i in range(10):
print(i)
time.sleep(1)
앞에서 설명한 것처럼 파이썬에서 모듈은 파이썬 파일을 의미합니다. 그러나 모듈의 실행 속도가 중요한 일부 모듈은 파이썬으로 작성되지 않고 C 언어로 작성됩니다. 이 경우에는 해당 모듈의 코드를 직접 볼 수는 없습니다. 다음 코드는 time 모듈과 random 모듈을 임포트한 후 해당 모듈의 위치를 확인하는 코드입니다. time 모듈은 내장 모듈이기 때문에 해당 모듈의 위치가 따로 출력되지는 않지만 random 모듈은 해당 모듈이 위치하는 경로가 출력되는 것을 볼 수 있습니다.
>>> import time
>>> time
<module 'time' (built-in)>
>>> import random
>>> random
<module 'random' from 'C:\\Anaconda3\\lib\\random.py'>
모듈 안에 어떤 함수나 변수가 있는지 어떻게 확인할 수 있을까요? 임포트된 모듈에 대해 모듈명을 사용해 dir() 내장 함수를 호출하면 해당 모듈의 구성 요소를 확인할 수 있습니다.
>>> import time
>>> dir(time)
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']
2]OS module
os 모듈은 Operating System의 약자로 운영체제에서 제공되는 여러 기능을 파이썬에서 수행할 수 있게 해줍니다.
먼저 현재 경로를 구하려면 os 모듈의 getcwd() 함수를 사용하면 됩니다. 아래 코드는 현재 파이썬 IDLE가 해당 경로에서 실행됐기 때문입니다.
>>> import os
>>> os.getcwd()
'C:\\Anaconda3\\Lib\\idlelib'
>>>
특정 경로에 존재하는 파일과 디렉터리 목록을 구하는 함수인 listdir() 함수를 사용해보겠습니다. 다음 코드를 보면 현재 경로인 C:\Anaconda3\Lib\idlelib에 존재하는 파일과 디렉터리 목록이 리스트로 구성된 후 반환되는 것을 확인할 수 있습니다.
>>> os.listdir()
['aboutDialog.py', 'AutoComplete.py', 'AutoCompleteWindow.py', 'AutoExpand.py' .......]
listdir() 함수의 인자로 특정 경로를 지정하는 경우 해당 경로에 있는 파일,디렉터리 목록이 반환됩니다.
>>> os.listdir('c:/Anaconda3')
['conda-meta', 'DLLs', 'Doc', 'envs', 'Examples', 'include', ....]
listdir() 함수의 반환값에 대해 len() 함수를 사용한 예입니다. 해당 경로에는 28개의 파일 또는 디렉터리가 존재하는 것을 확인할 수 있습니다. 참고로 type() 함수를 이용해 listdir()함수의 반환값 타입은 리스트임을 확인할 수 있습니다.
>>> files = os.listdir('c:/Anaconda3')
>>> len(files)
28
>>> type(files)
<class ‘list’>
이번에는 'c:/Anaconda3'이라는 경로에 있는 파일 중 확장자가 'exe'로 끝나는 파일만 출력하는 코드를 작성해 보겠습니다. 문자열의 endswith() 메서드를 조합하면 됩니다.
>>> for x in os.listdir('c:/Anaconda3'): if x.endswith('exe'): print(x) python.exe pythonw.exe Uninstall-Anaconda.exe
출처 : https://wikidocs.net/3086
댓글 없음:
댓글 쓰기