복붙노트

[PYTHON] 파이썬에서, 시스템 명령의 출력을 문자열로 얻는다. [duplicate]

PYTHON

파이썬에서, 시스템 명령의 출력을 문자열로 얻는다. [duplicate]

파이썬에서는 os 나 서브 프로세스를 사용하여 시스템 명령을 실행할 수 있습니다. 문제는 출력을 문자열로 가져올 수 없다는 것입니다. 예 :

>>> tmp = os.system("ls")
file1 file2
>>> tmp
0

나는 함수 check_out을 가지고 있지 않은 하위 프로세스의 구버전을 가지고 있으며, 관리자 권한을 갖고 있지 않은 서버에서 코드가 실행될 것이므로 그 모듈을 업데이트 할 필요가없는 솔루션을 선호한다.

이 문제는 사소한 것 같지만 사소한 해결책을 찾을 수 없었습니다.

해결법

  1. ==============================

    1.os.popen () 사용 :

    os.popen () 사용 :

    tmp = os.popen("ls").read()
    

    더 새로운 방법 (> 파이썬 2.6)은 서브 프로세스를 사용하는 것이다 :

    proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
    tmp = proc.stdout.read()
    
  2. from https://stackoverflow.com/questions/19243020/in-python-get-the-output-of-system-command-as-a-string by cc-by-sa and MIT license