从django unittest调用脚本

时间:2016-01-22 22:07:11

标签: python django django-unittest

我正在尝试从django单元测试中运行脚本,但未能这样做。

我想调用的脚本可以使用python -m webapp.lib.cron.my_cron

从命令行运行

我试过了:

from subprocess import call
call("python -m webapp.lib.cron.my_cron")

并收到以下错误:

  

FileNotFoundError: [Errno 2]没有这样的文件或目录:'python -m webapp.lib.cron.my_cron'

如何在django unittest中运行此脚本?

2 个答案:

答案 0 :(得分:0)

您应该将参数作为列表传递,而不是字符串。

import subprocess
subprocess.call(["python",  "-m", "webapp.lib.cron.my_cron"])

答案 1 :(得分:0)

使用Popen因为subprocess.Popen比subprocess.call更通用。

import subprocess
subprocess.Popen(["python",  "-m", "webapp.lib.cron.my_cron"])