ProgrammingLang/python

[python] 21. 날짜 다루기, 프로세스(subprocess) 실행

jinkwon.kim 2018. 11. 27. 22:52
728x90
반응형

[python] 21. 날짜 다루기, 프로세스(subprocess) 실행




1. 날짜 다루기

  - 컴퓨터에서 날짜는 숫자 취급한다. 

  - 1970.1.1 를 기준시(epoch)로  초단위로 흐른 시간을 표시한다.

  1) time 모듈

    - 절대시간(epoch 타임)을 다루는 모듈

    (1) time.time()

      - 1970.01.01.00:00:00 epoch time stamp

      - epoch 부터 경과시간을 수자(float 타입)로 표시, 즉 소수점으로 표시한다.

      Ex)

        now = time.time()   # 현재 시간

        time.ctime(now)     #

        time.localtime(time) # 컴퓨터의 시계에서 현지 시간을 가져온다.

        time.gmtime(now)   # 국제 표준시(그리니치 천문대를 기준으로 한시간)


    (2) time.sleep(second)

      - 해당 second 만큼 프로그램이 일시 중지

      - Ctrl + C키를 누르면 강제로종료 된다. 


  2) datetime 모듈

    - 시간으 보기 좋게 표하는 방식에 대하 모듈

    - 주요 객체 

    (1) date : 년, 월, 일

        - 년, 월, 일을 지정하여 date 객체를 만들수 있다. 

        - 각 값은 속성으로 접근할 수 있다.

        - 예제 코드


    (2) time : 시, 분 , 초, 마이크로초

        - 하루의 시간을 나타내는 데 사용한다. 

        - 인자를 입력 하지 않으면 0으로 간주하다.

        - 예제 코드 

 

   (3) datetime : 날짜와 시간 

        - 날짜와 시간을 모두 포함 한다. 

        - 국제 표준 표시 isoformat()을 지원한다. 


        - datetime를 문자로 바꾸는 함수

          %Y : 년

          %m :월

          %d  :일

          %H : 시

          %M : 분

          %S : 초

          %I  : 12시간 단위로 표현

          %p : am, pm을 의미

          %B :  현재 월의 줄임

          %y : 년의 줄임



    (4) timedelta : 날짜 또는 시간 간격 

        - 시간 간격을 계산 할 수 있다.


2. 프로세스 실행- subprocess 모듈

  1) subprocess.Popen()

   - subprocess.Popen(['실행 프로그램', '실행할 파일']) 

    (1) 어플리케이션 실행

      - 아래 코드에서 계산기가 실행 된다.

import subprocess

subprocess.Popen('C:\\Windows\\System32\\calc.exe')

    (2) 다른 파이썬 스크립트 실행 

subprocess.Popen(['python.exe', 'pytyon-req.py'])

    (3) 묵시 적인 프로그램 호출

      - 기본 프로그램으로 실행한다.

      - 아래 코드에서 엑셀 파일이 실행 된다.

      - shell=True가 되면 subprocess로 주어진 명령을 바로 실행하는 것이 아니라, 

        별도의 서브 쉘을 실행하고 해당 쉘 위에서 명령을 실행하도록 한다

subprocess.Popen(['start', 'test.xlsx'], shell=True)


728x90
반응형

'ProgrammingLang > python' 카테고리의 다른 글

[python] 20. scraper  (0) 2018.11.27
[python] 19. python Open API 와 JSON  (5) 2018.11.26
[python] 18. CSV 파일 다루기  (0) 2018.11.22
[python] 17. python으로 엑셀 다루기  (7) 2018.11.22
[python] 16. class 와 객체  (0) 2018.11.21