[PYTHON] 파이썬 내에서 명령 행 프로그램 실행하기 [duplicate]
PYTHON파이썬 내에서 명령 행 프로그램 실행하기 [duplicate]
나는 사운드 파일을 조작 (패드, 믹스, 병합 등)하고, sox가 내가 원하는 것을 정확하게 수행한다는 것을 알게 될 웹 애플리케이션을 만들고있다. 삭스는 리눅스 커맨드 라인 프로그램이고 나는 파이썬 웹 애플리케이션을 요청할 때마다 내 서버에서 새로운 sox 프로세스를 시작하는 것에 약간 불편 함을 느낀다.
예:
import os
os.system('sox input.wav -b 24 output.aiff rate -v -L -b 90 48k')
이 전체 설정은 나에게 조금 불안정한 것 같습니다.
그래서 내 질문에, 파이썬 (또는 스크립팅 언어) 웹 응용 프로그램 내에서 명령 줄 프로그램을 실행하는 가장 좋은 방법은 무엇입니까?
전체 요청 응답주기를 처리하기 위해 메시지 대기열을 구현해야합니다. 그러나 이러한 것들을 더 우아하게 만드는 다른 방법이 있습니까?
해결법
-
==============================
1.하위 프로세스 모듈은 Python에서 다른 프로그램을 실행하는 기본 방법입니다. os.system보다 훨씬 유연하고 사용하기 쉽습니다.
하위 프로세스 모듈은 Python에서 다른 프로그램을 실행하는 기본 방법입니다. os.system보다 훨씬 유연하고 사용하기 쉽습니다.
import subprocess #subprocess.check_output(['ls','-l']) #all that is technically needed... print subprocess.check_output(['ls','-l'])
-
==============================
2."이 모든 설정은 나에게 조금 불안정한 것 같습니다."
"이 모든 설정은 나에게 조금 불안정한 것 같습니다."
명령 행 백엔드에서 GUI 프론트 엔드를 사용하는 것에 대해 ffmpegx 사람들과 대화하십시오. 그것은 그들을 괴롭히지 않는 것 같습니다.
실제로 GUI와 명령 사이에 매우 깔끔한 인터페이스가 있으므로 명령 줄 백엔드를 통한 GUI (또는 웹) 프론트 엔드가 실제로 안정적이라는 결론을 내 렸습니다. 명령은 웹과 다른 속도로 진화 할 수 있습니다. 명령 행 옵션이 호환 가능하면 파손 될 가능성이 없습니다.
-
==============================
3.나에게 이것은 자신이 웹 서버를 공개한다면 15,000 명의 사람들이 sox를 시작하는 버튼을 클릭하기로 결정한다면 자신의 서버 리소스가 소비되는 것을 막기 위해 할 수있는 일이 많지 않다는 것을 두려워한다는 의미입니다. 이런 식으로.
나에게 이것은 자신이 웹 서버를 공개한다면 15,000 명의 사람들이 sox를 시작하는 버튼을 클릭하기로 결정한다면 자신의 서버 리소스가 소비되는 것을 막기 위해 할 수있는 일이 많지 않다는 것을 두려워한다는 의미입니다. 이런 식으로.
-
==============================
4.서버 성능에 관심이 있다면 실행중인 sox 프로세스의 수를 제한하십시오. 캡에 부딪혔다면 언제든지 요청을 캐싱 할 수 있으며 애플리케이션이 끝났을 때 사용자에게 알맞은 방법으로 애플리케이션에 알릴 수 있습니다.
서버 성능에 관심이 있다면 실행중인 sox 프로세스의 수를 제한하십시오. 캡에 부딪혔다면 언제든지 요청을 캐싱 할 수 있으며 애플리케이션이 끝났을 때 사용자에게 알맞은 방법으로 애플리케이션에 알릴 수 있습니다.
또는 db에서 요청을 가져와 sox를 호출하는 다른 컴퓨터에 n 작업자 스크립트를 설치 한 다음 결과 출력 파일을 필요한 위치로 밀어 넣습니다.
-
==============================
5.나는 sox에 익숙하지 않지만 명령 행으로 프로그램을 반복적으로 호출하는 대신 서비스로 설정하고 요청에 연결할 수 있습니까? 영감을 얻으려면 sqlite와 같은 연결 인터페이스를 살펴보십시오.
나는 sox에 익숙하지 않지만 명령 행으로 프로그램을 반복적으로 호출하는 대신 서비스로 설정하고 요청에 연결할 수 있습니까? 영감을 얻으려면 sqlite와 같은 연결 인터페이스를 살펴보십시오.
from https://stackoverflow.com/questions/450285/executing-command-line-programs-from-within-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Numpy를 사용하여 파생 상품을 계산하려면 어떻게해야합니까? (0) | 2018.10.09 |
---|---|
[PYTHON] Borg 패턴이 파이썬의 싱글 톤 패턴보다 나은 이유는 무엇입니까? (0) | 2018.10.09 |
[PYTHON] 파이썬에서 주 번호를 얻는 방법? (0) | 2018.10.09 |
[PYTHON] 실행 표준 편차를 효율적으로 계산하는 방법? (0) | 2018.10.09 |
[PYTHON] Python 앱에서 Google 검색 (0) | 2018.10.09 |