如何在django视图中运行命令行python脚本?

时间:2010-02-12 15:14:28

标签: python django command-line scripting

我有一个.py文件,php文件运行如下:

$link = exec(dirname(__FILE__) . /xxx.py ' .excapeshellarg($url) . '2>&1', $output, $exit_code);

我想在我的django视图中运行xxx.py并将输出设置为变量。 xxx.py文件底部有一个def main(url)函数和if __name__ == '__main__':。有没有办法可以编辑xxx.py文件并从我的视图中调用def main函数?

当直接从视图调用时,它不会像在命令行上运行一样运行。

感谢您的回复。

1 个答案:

答案 0 :(得分:2)

  

有没有办法可以编辑xxx.py文件并从我的视图中调用def main函数?

是。修改main函数,使其将结果作为字符串返回,而不是将其打印到stdout,这就是它此刻所做的。

然后,从您的视图中,您可以执行以下操作:

import xxx
results = xxx.main('foo')
# Do something with results