如何使用mod_python.publisher中的参数调用python脚本的main()?
我使用一个mod_python publisher函数,它调用另一个python脚本的main()函数,该脚本带有一个定制的argv列表。当我从shell命令行执行publisher脚本时,它可以工作。但是,当我使用mod_python通过apache2进行尝试时,我得到了一个错误(如下所示),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参数,
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
转储到日志文件中,以确认您确实在运行您认为应该运行的程序。