Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
如何使用mod_python.publisher中的参数调用python脚本的main()?_Python_Mod Python - Fatal编程技术网

如何使用mod_python.publisher中的参数调用python脚本的main()?

如何使用mod_python.publisher中的参数调用python脚本的main()?,python,mod-python,Python,Mod Python,我使用一个mod_python publisher函数,它调用另一个python脚本的main()函数,该脚本带有一个定制的argv列表。当我从shell命令行执行publisher脚本时,它可以工作。但是,当我使用mod_python通过apache2进行尝试时,我得到了一个错误(如下所示),main不接受任何参数 aba.py中的main()定义为: def main(argv=None): --code-- def main(argv=None): 注意:如果未传递list参数,

我使用一个mod_python publisher函数,它调用另一个python脚本的main()函数,该脚本带有一个定制的argv列表。当我从shell命令行执行publisher脚本时,它可以工作。但是,当我使用mod_python通过apache2进行尝试时,我得到了一个错误(如下所示),main不接受任何参数



aba.py中的main()定义为:

def main(argv=None):
 --code--
def main(argv=None):
注意:如果未传递list参数,则从mod_python执行aba.main()

mod_python publisher函数如下所示:

import sys
sys.path.append("/u/scripts")
import aba
from cStringIO import StringIO

def index():

    old_stdout = sys.stdout
    sys.stdout = mystdout = StringIO()
    aba.main([ "aba.py","-i", "-b"])
    sys.stdout = old_stdout
    return(mystdout.getvalue())

第一条日志声明说:

aba.main([ "aba.py","-i", "-b"])
你说main的定义是:

def main(argv=None):
 --code--
def main(argv=None):
因此,
aba
作为第一个参数传入main(),main()占用
argv
参数,然后就没有参数可以传入该列表了


我不认为这与
mod_python

有任何关系,必须有其他一些代码(可能在
aba.py
中)来改变其
的绑定,否则您描述的症状将是不可能的。或者您在
mod_python
中有配置问题,而你实际上并没有运行你声称正在运行的东西。请将
sys.path
转储到日志文件中,以确认您确实在运行您认为应该运行的程序。