2009-05-04 28 views

回答

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 2009-05-04 08:22:06

6

這是一個非常糟糕的設計理念。你的腳本應該被設計爲獨立於它的調用方式。呼叫方案應提供一個統一的環境。

如果您將腳本設計爲以完全一致的方式工作,您將會感到最開心。建立這樣的事情。

  • myscript.py - 「真正的工作」 - 在函數和類中定義的。

  • myscript_cgi.py - 一個導入myscript並使用類和函數的CGI接口。

  • myscript_cli.py - 解析命令行選項,導入myscript並使用類和函數的命令行界面。

一個腳本,做所有的三件事(實際工作中,CGI接口,CLI界面),通常是一個錯誤。

+0

嗨,感謝您的建議!我會按照你的建議去做... P.S.我已經開始閱讀你的書了,我真的很喜歡它! 再見 – wheisenberg 2009-05-05 12:54:23