본문 바로가기
Python

[파이썬] 주피터 노트북 윈도우 cmd, shell 명령어 사용방법

by 퍼포먼스마케팅코더 2022. 8. 4.
반응형

이거 오늘 사용한 건데 주피터 노트북으로 cmd 명령 칠 때 있죠? Windows 기준이지만,  cmd 명령어 칠 때 결과값이 나오지 않았습니다. 조금 불편한 점이 있었지만 그것을 보완할 수 있는 코드를 적어놨습니다. 아주 단순해요. 단순하고 그렇게 어려운 내용 같은 건 없어요. 

파이썬 주피터 노트북 윈도우 cmd, shell 명령어 사용방법

두 가지가 있었는데 첫 번째 경우는 문제점이 뭐냐면 보안에 많이 노출될 수 있다는 얘기를 많이 들었어요. 두 번째 명령어가 괜찮다고 했는데 두 번째 명령어를 넣으면 오류가 납니다. 오류는 옆에 설명을 써놨는데 문자열과 비슷한 설명이에요. 한글 출력이 안됩니다. 한글출력이 안되서 답답한 부분이 있는데 주로 인코딩이에요. 인코딩을 할 때 한글이 출력되지 않아 한글이 깨지거나 이상한 오류 문구가 나타날 수 있습니다. 그럴 때 주로 들어갈 수 있는 3개의 인코딩 문자열이 있습니다. 그것만 기억하면 대개의 한글 변화는 깨지지 않고 다 나와요. 내용도 첨부해서 넣었습니다. 인코딩은 utf8 그것도 중요하지만 cp949 인코딩도 유용합니다. 이 내용을 보면 cmd 창에서 Windowshell 명령을 사용하는 것에 대해서는 전혀 문제가 없을 정도로 그런 내용이 포함되어 있습니다. 많이 참고가 되었으면 좋겠습니다.

import os
import subprocess

path = os.popen('cd').read() #os시 출력되는 내용 확인
print(path) #확인

cmd = ['dir'] #명령어

#주요 인코딩 utf-8, utf-8-sig, cp949
# 'utf-8' codec can't decode byte 0xb5 in position 3: invalid start byte 
# 해당 에러가 나올시 encoding을 cp949로 변경해서 넣어주면 출력된다.

result = subprocess.run(cmd, shell=True, capture_output=True, encoding='cp949')  #명령어입력

print(result.stdout) #결과확인
반응형

댓글