2009-05-04 2 views
3

CGI 스크립트 (양식에서 정보 전달) 또는 명령 행 (명령 행에서 옵션 및 인수 전달)으로 호출 할 수있는 파이썬 모듈이 하나 있습니다. 모듈이 CGI 스크립트 또는 명령 줄에서 호출되었는지 확인하는 방법이 있습니까 ??내 파이썬 모듈을 호출하는 Python

답변

9

이 그것을 할 것입니다 :

import os 
if os.environ.has_key('REQUEST_METHOD'): 
    # You're being run as a CGI script. 
else: 
    # You're being run from the command line. 
+0

답장을 보내 주셔서 감사합니다. 나는 지금 막 시도하고 작동한다 ... – wheisenberg

6

이것은 정말 나쁜 디자인 아이디어입니다. 스크립트는 호출 방법과 독립적으로 작동하도록 설계되어야합니다. 호출 프로그램은 일정한 환경을 제공해야합니다.

스크립트가 일관되게 일관된 방식으로 작동하도록 디자인하면 가장 행복 할 것입니다. 이런 것들을 만들어라.

  • myscript.py - 함수와 클래스에서 정의 된 "실제 작업".

  • myscript_cgi.py - myscript를 가져 와서 클래스와 함수를 사용하는 CGI 인터페이스입니다.

  • myscript_cli.py - 명령 줄 옵션을 구문 분석하고 myscript를 가져오고 클래스와 함수를 사용하는 명령 줄 인터페이스입니다.

세 가지 (실제 작업, cgi 인터페이스, cli 인터페이스)를 모두 수행하는 단일 스크립트는 일반적으로 실수입니다.

+0

안녕하세요, 조언 주셔서 감사합니다! 나는 u로 제안 할 것이다 ... 추신. 너의 책을 읽기 시작 했어, 정말 호수 야! 안녕히 주무세요. – wheisenberg

관련 문제