Как запустить скрипт Python командной строки в представлении Django? - PullRequest
3 голосов
/ 12 февраля 2010

У меня есть файл .py, который работает как php-файл:

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

Я хочу запустить xxx.py в моем представлении django и назначить вывод переменной. Файл xxx.py имеет функцию def main (url) и if __name__ == '__main__': внизу. Можно ли как-нибудь отредактировать файл xxx.py и вызвать функцию def main из моего вида?

В настоящее время он не работает так, как он запускается в командной строке при вызове непосредственно из представления.

Спасибо за ваш ответ.

1 Ответ

2 голосов
/ 12 февраля 2010

Есть ли способ отредактировать файл xxx.py и вызвать функцию def main из моего представления?

Да. Измените функцию main, чтобы она возвращала свои результаты в виде строки, а не печатала ее в stdout, что, по-видимому, и происходит в данный момент.

Затем из своего поля зрения вы можете сделать что-то вроде:

import xxx
results = xxx.main('foo')
# Do something with results
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...