[파이썬] 파이썬에서 리눅스 명령어 사용하기

2-pi-r·2023년 2월 9일
0

개발

목록 보기
4/8

방법

os.system(커맨드)

를 사용하면 된다.

추가 설명

  • 새 bash를 열어서 작업 후 닫는다.

    • ex)
      디렉토리 A 밑에 B 밑에 C가 있다고 하자. 아래 코드에서는 C라는 디렉토리가 없다고 에러가 뜬다.
      os.system("cd B")
       os.system("cd C")
      왜냐하면 윗줄에서 B로 이동했지만, 윗줄과 아랫줄은 서로 다른 bash이므로 아랫줄에서는 A 하위에서 C를 찾은 셈이기 때문이다.
  • return하는 값은 출력값이 아니라 종료코드이다.

    • ex)
      	if os.system("ls A | grep B") == "B":
      		print("찾았다!")
      
      이렇게 하면 아무것도 출력되지 않는다.(if문 안의 코드는 실행되지 않는다.) 원래 의도대로 A 하위에 B가 있을 때 "찾았다!"라고 출력하고 싶다면 조건을 이렇게 설정해야 한다.
      os.system("ls A | grep B") == 0
    • grep의 경우, 출력할 결과가 있을 때 exit으로 종료되며, 이때 종료코드는 0이다. 아무것도 찾지 못했다면 1을 반환한다.

0개의 댓글