코드로 우주평화
Python _ 런타임 중에 스크립트 파일 실행하기 본문
스크립트는 보통 직접 명령어를 입력해 실행합니다.
하지만 runtime 환경에서 스크립트 파일을 실행해야할 때도 있습니다.
그런 경우에는 개발자가 직접 터미널에 스크립트 실행 명령어를 치는 것이 아닌,
미리 작성된 파이썬 코드에 의해 스크립트가 실행되도록 해야합니다.
이번 글에는 OS를 사용한 스크립트 실행 방법을 알려드리겠습니다.
OS
import os
os.system("ls")
방법은 아주 간단합니다.
os를 import 하고 system 메서드를 사용해 명령어를 안에 넣습니다.
그리고 실행을 해보면 그 결과 값도 함께 보여줍니다.
(ls 는 해당 디렉토리를 보여줍니다)
>>> project
현재는 project 폴더만 보이네요
하지만 스크립트를 실행하기 위해서 폴더 내로 이동해야 한다고 가정해봅시다.
그럴때는 폴더 내로 이동하는 명령어, 파일을 실행하는 명령어, 등 여러개의 명령어를 실행해야합니다.
복수의 명령어 실행 방법
.
└── project
└── scripts
└── script.py
project 안에 scripts 안에 script.py 파일을 실행해보겠습니다.
# script.py
print("스크립트가 실행되었습니다.")
스크립트 파일 안에는 다음처럼 print 문이 있습니다.
만약 정상실행된다면 print가 출력될 것입니다.
리눅스에서는 ‘&&’ 기호를 사용해 복수의 명령어를 이어 붙일 수 있습니다.
예를 들어 다음처럼 명령어를 작성할 수 있습니다.
cd project && cd scripts && python script.py
이 명령어를 아까의 os.system() 안에 넣어줍니다.
import os
os.system("cd project && cd scripts && python script.py")
실행해보겠습니다.
>>> 스크립트가 실행되었습니다.
정상 실행되는 것을 확인할 수 있습니다.
마무리
지금은 설명을 위해 파일을 실행하듯 진행했지만,
실제 코딩 시에는 함수안에 넣어 요청시에만 실행할 수 있도록 만들 수 있습니다.
이렇게 런타임 중에 스크립트를 실행시킬 수 있다면
스크립트 실행도 자동화 할 수 있음을 의미합니다.
필요할 때 적절히 사용하시기 바랍니다.
'나는 이렇게 학습한다 > Language' 카테고리의 다른 글
Python _ dict의 keys()처럼 dataclass에서 속성 목록 가져오기 (0) | 2022.06.21 |
---|---|
Python _ @dataclass 사용법과 타입 확인 (0) | 2022.05.18 |
Python _ @property로 getter, setter 구현하기 (feat. 캡슐화) (0) | 2022.04.02 |
Python _ @classmethod, @staticmethod 란 무엇인가? (0) | 2022.03.31 |
Python _ magic method를 사용하여 객체 커스텀하기 (0) | 2022.03.31 |