django - 如何在 Django 中执行 Linux 命令?

标签 django

要在 Python 中执行 Linux 命令,我们有很棒的模块:os 和 subprocess。我已经使用 os 和 subprocess 模块在基于控制台的 python 程序中集成了 Linux 命令,但是在 Django 中不会发生同样的事情。以这个 View 为例:

def hello(request):
    res = os.system('ls')
    return render_to_response('thanks.html', {'res':res}, context_instance=RequestContext(request))

此 View 返回的唯一值是 0。我也尝试过使用子进程。我得到的输出是0。怎么了?

最佳答案

这不是 Django 问题。就是这样 os.system确实 - 它给出了系统调用的返回值,在本例中为 0为成功执行。

如果你需要抓取外部程序的输出,你应该使用 subprocess.check_output (仅限 2.7)。但是,如果您只对目录列表感兴趣,那么有一个更好的方法,那就是使用 os.listdir .

关于django - 如何在 Django 中执行 Linux 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13305396/

相关文章:

python - Django runserver 使用什么类型的服务器?

MySQL SELECT 语句不区分大小写

javascript - 如何在 jquery.post 调用中停止表单提交?

django - 如何解码 token 并获取djangorestframework-jwt包的信息为Django

Javascript - 获取链接点击时间

Django channel 与 Django 集成

Django/文件上传权限

javascript - 无法将数组打印到 HTML 中

python - Django Url 未使用查询参数解析

django - 将 Django 模型/表拆分为两个模型/表是否有性能优势?