-
[Python] 파이썬에서 명령 프롬포트(cmd) 명령어 실행시키기 - 현재 경로 내 파일 리스트 출력하기Coding/Python 2019. 11. 8. 15:17
Python os 라이브러리 사용하기
파이썬에는 os라는 라이브러리가 존재합니다.
이는 운영체제에서 관리하는 다양한 기능을 다룰 수 있도록 해주는 라이브러리입니다.
(클립보드, cmd, Window 시계 등등..)그중 cmd 명령어를 직접 이용하여 python 코드 내에 적용시킬 수 있다는 것이 신기하여, 간단한 예제로 알아보도록 하겠습니다.
(subprocess 라이브러리를 이용하기도 하지만, 이번 포스팅에서는 os 라이브러리로 다루겠습니다)
우선 os 라이브러리를 import 합니다.
# os 라이브러리 import import os
os 라이브러리에서 cmd 명령어를 사용할 때는 os.system()을 사용합니다.
우선 현재 폴더로 이동을 해야겠죠?
현재 폴더의 경로를 얻고 싶을때는 getcwd() 메소드를 이용합니다.
import os # 현재 경로 저장 path = os.getcwd()
그다음엔
cd
명령어를 통하여 해당 경로로 이동해 봅시다.파이썬의 format을 이용하여 코드를 깔끔하게 해 봅시다.
import os os.system('cd {}'.format(os.getcwd()))
그다음엔, dir명령어를 통하여 리스트를 변수에 저장해 봅시다.
os.system('dir')로도 목록 조회가 가능하지만, 파이썬 콘솔에 바로 출력되며 한글 인코딩이 되지 않아 깨지는 현상이 발생합니다.(...)
그리고 os.system()으로는 변수에 따로 출력값을 저장할 수 없습니다. 따라서 이럴 때는
os.popen을 이용합니다.
import os os.system('cd {}'.format(os.getcowd()))) output = os.popen('dir').read() print(output)
os.popen()을 read()로 읽은 값을 변수에 저장하면, cmd에서 출력된 부분을 콘솔에도 출력할 수 있습니다!
출력 결과
성공적으로 해당 py(test.py)가 있는 경로의 파일 리스트가 출력되었습니다!
'Coding > Python' 카테고리의 다른 글
[django] Model IntegerField에 최소/최대값 지정하기 (0) 2021.01.19 [django] Admin 페이지를 이쁘게 커스텀해보자 1) 한글화, CSS, HTML 접근하기 (0) 2020.12.06 [Python] 리스트에서 랜덤으로 추출하기 (0) 2019.11.07 [Python] 리스트 역순으로 순회하기 (0) 2019.10.17 [Python] Selenium 백그라운드(Headless)로 돌리기 (1) 2019.10.16