从烧瓶应用程序运行shell命令

Aft*_*nix 9 python shell flask

我正在尝试从烧瓶应用程序运行shell命令并尝试获取输出.我正在尝试的应用程序如下:

from flask import Flask
import subprocess

app = Flask(__name__)

@app.route("/")

def hello():
    cmd = ["ls"," -l"]
    p = subprocess.Popen(cmd, stdout = subprocess.PIPE,
                            stderr=subprocess.PIPE,
                            stdin=subprocess.PIPE)
    out,err = p.communicate()
    return out
if __name__ == "__main__" :
    app.run()
Run Code Online (Sandbox Code Playgroud)

shell命令没问题.我在外面检查过,但是从浏览器中我得到"内部严重错误".

编辑:由于第一个答案指出它有一个错字...但现在它运行正常但我没有在我的浏览器中获得任何输出...

fal*_*tru 13

这是一个简单的错字.cd在以下行中应该是cmd:

p = subprocess.Popen(cd, # <----
                     stdout=subprocess.PIPE,
                     stderr=subprocess.PIPE,
                     stdin=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

UPDATE

还有另一个错字; 删除第二项中的空格:

cmd = ["ls", " -l"]
              ^
Run Code Online (Sandbox Code Playgroud)

  • @ nmz787,`cd` 来自这个问题。我在第一行提到了错字。 (2认同)