파이썬에서 시스템 명령어 실행하기
― os 모듈을 활용한 디렉터리 확인 예제
파이썬은 단순한 계산을 넘어서 운영체제의 명령어를 실행할 수 있는 기능도 제공합니다. 이를 가능하게 하는 것이 바로 os 모듈입니다. 이번 글에서는 os.system() 함수를 활용하여 윈도우 명령어인 dir을 실행하고, 현재 디렉터리 내용을 확인하는 방법을 예제로 소개합니다.
1. os 모듈이란?
os는 Operating System의 약자로, 파이썬에서 운영체제 기능과 상호작용할 수 있게 해주는 표준 모듈입니다. 파일, 디렉터리, 환경 변수, 명령 실행 등 다양한 기능을 포함하고 있습니다.
import os
이처럼 먼저 os 모듈을 불러와야 그 기능을 사용할 수 있습니다.
2. os.system() 함수의 역할
os.system()은 문자열 형태의 시스템 명령어를 실행할 수 있게 해주는 함수입니다. 윈도우에서는 CMD 명령어, 리눅스나 맥에서는 터미널 명령어를 사용할 수 있습니다.
예를 들어, 윈도우에서 디렉터리 목록을 보고 싶을 때는 다음과 같이 명령을 내릴 수 있습니다.
os.system('dir')
이 코드를 실행하면 실제로 윈도우 명령 프롬프트에서 dir 명령을 입력한 것처럼 동작하며, 현재 디렉터리에 존재하는 파일과 폴더 목록을 확인할 수 있습니다.
3. 실행 결과 분석
실제 실행 결과는 다음과 같이 나타납니다:
C 드라이브의 볼륨: Acer
볼륨 일련 번호: 30F3-98A3
C:\Users\kimea\AppData\Local\Programs\Python\Python313 디렉터리
2025-01-07 오후 08:38 <DIR> DLLs
2025-01-07 오후 08:38 <DIR> Doc
2025-01-07 오후 08:38 <DIR> include
2025-01-07 오후 08:38 <DIR> Lib
...
8개 파일 8,533,540 바이트
9개 디렉터리 117,374,058,496 바이트 남음
여기서 중요한 점은 다음과 같습니다:
항목 설명
<DIR> | 해당 항목이 디렉터리(폴더)임을 의미합니다. |
파일 크기 | 각각의 파일이 차지하고 있는 바이트 크기를 표시합니다. |
남은 용량 | 현재 드라이브에 남아 있는 저장 용량입니다. |
4. 윈도우와 리눅스 명령의 차이
os.system()으로 실행하는 명령어는 운영체제에 따라 다릅니다.
운영체제 디렉터리 보기 명령 화면 지우기 명령
Windows | dir | cls |
Linux/macOS | ls | clear |
따라서 프로그램을 배포하거나 공유할 때는 현재 환경이 어떤 운영체제인지 확인하고, 적절한 명령어를 선택해야 합니다.
5. 시스템 명령어 실행 시 주의점
- os.system()은 결과를 화면에 출력만 하고, 그 내용을 코드에서 직접 활용하지는 못합니다.
- 만약 명령어의 출력 결과를 코드로 활용하고 싶다면 subprocess 모듈을 사용하는 것이 더 적합합니다.
예:
import subprocess
result = subprocess.check_output('dir', shell=True, text=True)
print(result)
마무리
os.system()은 파이썬에서 운영체제 명령어를 간단하게 실행할 수 있는 편리한 함수입니다. 디렉터리 확인, 파일 목록 보기, 화면 정리 등 다양한 기능을 구현할 때 매우 유용합니다. 다만, 복잡한 결과를 활용하거나 다양한 운영체제를 고려해야 할 경우에는 subprocess를 함께 익히는 것이 좋습니다.
'실버를 위한 코딩 > 오늘의 파이썬 팁' 카테고리의 다른 글
파이썬의 eval() 함수 제대로 알기 (0) | 2025.04.14 |
---|---|
os 모듈과 sys 모듈 (1) | 2025.04.14 |
아나콘다 프롬프트(Anaconda Prompt)와 컴퓨터 기본 터미널 (1) | 2025.01.24 |
파이참에서 프로젝트 삭제 (1) | 2024.12.01 |
코딩에서 가독성을 높이기 위한 배려 (1) | 2024.11.30 |