如何在Django视图中运行命令行Python脚本?
我有一个.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 个回答
2
有没有办法让我编辑一下xxx.py文件,并从我的视图中调用def main函数呢?
可以的。你需要修改一下main
函数,让它返回结果为一个字符串,而不是像现在这样直接打印到stdout
(标准输出)。
然后,在你的视图里面,你可以这样做:
import xxx
results = xxx.main('foo')
# Do something with results