我是 Django 的新手。我想从某个角度运行一些命令。就像是:
python /path/to/the/script/run.py -id 11 --user root --run_digital_id 29 --workflow map --lib_group library.yaml --log log.conf
我用这个方法来调用:
def run_in_background(cmd):
logging.info('running ' + cmd)
p = subprocess.Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
output, errors = p.communicate()
print output
print errors
logging.debug(output)
logging.debug(errors)
该命令被传递给方法 run_in_background()。当我复制命令并在终端上运行时,它运行良好。但是当我从 Django 的某个视图运行它时,它会报告:
Traceback (most recent call last):
File "/path/to/the/script/run.py", line 11, in ?
import conf, util
File "/path/to/the/script/conf.py", line 11
class Settings():
^
SyntaxError: invalid syntax
呃,当我从一些“普通”python 代码中调用它时,run_in_background 方法也可以工作。
错误位置是我程序的第一行。我怀疑路径有问题......但是经过长时间的搜索,我没有得到原因。请帮忙。谢谢。