Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,谁在调用我的Python模块_Python_Cgi - Fatal编程技术网

Python,谁在调用我的Python模块

Python,谁在调用我的Python模块,python,cgi,Python,Cgi,我有一个Python模块,可以由CGI脚本(从表单传递信息)或命令行(从命令行传递选项和参数)调用。 有没有办法确定模块是从CGI脚本还是从命令行调用的???这样就可以了: 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. 这是一个非常糟糕的设计理念。您的脚本应

我有一个Python模块,可以由CGI脚本(从表单传递信息)或命令行(从命令行传递选项和参数)调用。 有没有办法确定模块是从CGI脚本还是从命令行调用的???

这样就可以了:

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.

这是一个非常糟糕的设计理念。您的脚本应该设计为独立于它的调用方式工作。调用程序应提供统一的环境

如果您将脚本设计为完全以一种一致的方式工作,您将感到最高兴。建造这样的东西

  • py-函数和类中定义的“实际工作”

  • myscript_cgi.py-导入myscript并使用类和函数的cgi接口

  • myscript_cli.py—解析命令行选项、导入myscript并使用类和函数的命令行界面


一个脚本完成所有三件事(实际工作、cgi接口、cli接口)通常是错误的。

您好,谢谢您的建议!我会按照你的建议去做。。。我已经开始读你的书了,我真的很喜欢它!!!拜伊