반응형
이거 오늘 사용한 건데 주피터 노트북으로 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) #결과확인
반응형
'Python' 카테고리의 다른 글
[파이썬] 인스타그램 해시태그 검색 크롤링 자동 리스트업 (0) | 2022.08.07 |
---|---|
[파이썬] pyautogui 마우스, 키보드 매크로 자동화 사용법 (0) | 2022.08.04 |
[파이썬] indeed 인디드 채용공고 크롤링 리스트 추출해보기 (0) | 2022.08.04 |
[파이썬] 게임잡 채용공고 크롤링 추출 (0) | 2022.08.04 |
[파이썬] MS-SQL 쿼리 및 변수 사용방법 (0) | 2022.08.04 |
댓글