【发布时间】:2016-06-07 20:25:51
【问题描述】:
我正在使用 Linux。我正在尝试从 django 视图中的函数运行守护程序。我想从 Djangp 应用程序的视图中运行 shell 命令。我正在使用python 2.7。命令需要python2.7路径。
我的应用就像即插即用。因此,在要安装它的系统上,python 可能安装在不同的位置。所以我想让python路径动态化。
命令将是
usr/bin/python2.7 filename.py --start
在我的系统路径上是 usr/bin/python2.7。
我发现以下使用 os.
在 python shell 上,我尝试了以下代码,得到了我想要的
import os
getPyPath = os.popen('which python2.7', 'r')
pyPath = getPyPath.read()
pyPath.rstrip()
我得到了预期的 o/p,如下所示
usr/bin/python2.7
所以现在如何获取此代码是 django app view function & run 它,以便我可以在变量中获取 python 路径。
我找到了 python 子进程模块调用,我们可以使用 shell=True 通过 shell 运行命令。
那么我可以使用子进程调用在 django 视图函数中运行上述代码吗??
如果不是在函数 django 视图中获取变量中的 python 路径的其他方法是什么。
提前致谢。
【问题讨论】:
-
这是一个奇怪的要求。您打算在多少个不同的系统中部署此应用程序?您可以通过简单的硬编码路径轻松下车。
-
这是我开发和提交的任务。关于它将安装在哪里我不知道。硬编码在那里不起作用
标签: linux django python-2.7 shell