time 관련, 다른 프로그램 실행 관련

2019. 4. 21. 17:03파이썬

time 모듈 : 절대시간(epoch 타임 : 1970.1.1기준)을 다루는 모듈
datetime 모듈 : 시간을 보기좋게 표현하는 방식에 대한 모듈

now = time.time()#epoch 타임스탬프
time.ctime(now) #사람들이 좀 더 쉽게 읽을 수 있는 시간
time.localtime(now) #컴퓨터의 시간
time.gmtime(now) #세계 표준시

##실행시간 계산 예제
import time

def calc_prod():
    product = 1
    for i in range(1, 100000):
        product = product + 1
    return product

def main():
    start = time.time()
    prod = calc_prod()
    end = time.time()
    print('The result is {}'.format(len(str(prod))))
    print('Took {} seconds to calculate.'.format(end-start))

if __name__ == __main__:
    main()

#잠시 정지
for i in range(30):
    time.sleep(1)#1초동안 sleep
    print(i)

#시간 객체(datetime 모듈안에 포함된 객체들)
1)date 객체 : 년, 월, 일
---------------------------------
from datetime import date
white = date(2017, 3, 14)
print(white)
print(white.month)
print(white.day)
print(white.year)
print(white.isoformat())#'2017-03-14'
---------------------------------

2)time : 시, 분, 초, 마이크로초
---------------------------------
from datetime import time
bedtime = time(22, 35, 45)
print(bedtime)
print(bedtime.hour)
print(bedtime.minute)
print(bedtime.second)
---------------------------------

3) datetime : 날짜와 시간
---------------------------------
from datetime import datetime
someday = datetime(2050,1,2,3,4,5)
someday.isoformat() #표준 형식
now = datetime.now() #현재시간
---------------------------------

4) timedelta : 날짜 와/또는 시간간격
---------------------------------
now = datetime.now()
dday = timedelta(days=1000)
theday = now + dday
---------------------------------

** 특정날짜까지 프로그램 중지
import datetime
import time

wakeup_time = datetime.datetime(2020, 10, 31, 0, 0, 0)
while datetime.datetime.now() < wakeup_time:
    time.sleep(1)

** datetime 객체를 문자로(strftime())
wc8 = datetime.datetime(2002, 6, 22, 15, 30, 0)
wc8.strftime('%Y/%m/%d %H:%M:%S')
wc8.strftime('%I:%M:%p')#03:30 PM
wc8.strftime('%B of %y') #June of '02
%m
%d
%H : hour
%M : month

* 다른 프로그램 실행(subprocess)
#windows
import subprocess
subprocess.Popen('C:\\Windows\\System32\\calc.exe')

#Ubuntu
import subprocess
subprocess.Popen('/usr/bin/gnome-calculator')

#다른 파이썬 실행(상대경로, 절대 경로 모두 가능)
import subprocess
subprocess.Popen(['c:\\Python34\\python.exe', 'hello.py'])

#기본 프로그램으로 파일 열기
import subprocess
subprocess.Popen(['start', 'hello.txt'], shell=True)

#
import subprocess
subprocess.Popen(['python.exe', 'hello.py'])

#예제
import time
import subprocess
import logging

logging.basicConfig(level=logging.DEBUG, format='%asctime)s - %(levelname)s - %(message)s')

def countdown(sec):
    time_left = sec
    
    while time_left > 0:
        logging.debug(time_left)
        time.sleep(1)
        time_left -= 1

def main():
    howmany_sec = 3
    countdown(howmany_sec)
    subprocess.Popen(['start', 'alarm.wav'], shell=True)

if __name__ == '__main__':
    main()



 

 

 

'파이썬' 카테고리의 다른 글

IMAP을 통한 메일 확인  (3) 2019.04.21
SMTP로 메일 보내기(GMail)  (0) 2019.04.21
MSSQL 연동시  (0) 2019.04.20
엑셀 파일 읽고 쓰기  (0) 2019.04.15
파일 관련 기본들  (0) 2019.04.09