0

私の目標は、Python とフラスコを使用する Web ページを作成することです。この Web ページにいくつかのコマンドを入力し、Python インタープリターでコマンドを実行するフラスコに送信できるようにしたいと考えています。その後、Flask は結果を取得し、プレゼンテーションのために Web ページに送り返します。

これはどのように行うことができますか?現在、UNIXシェルコマンドを実行できますが、コマンドをpythonインタープリターに送信して結果を取得する方法を一生理解できません。

目的を明確にするべきだったと思います。これは、私が働いている会社の内部 Web アプリケーション用です。当社のネットワーク上で、適切な認証が実行された後にのみ、従業員のみがアクセスできます。従業員は、Web ブラウザーを介してログインしている特定のマシンで対話型シェルを使用する方法を必要としています。

解決:

私が望んでいることを正確に実行する素晴らしいモジュール名 Pexpect を見つけました。ご提案いただきありがとうございます。

4

3 に答える 3

1

次のコードは、フラスコと pexpect モジュールを使用して Python インタープリターを呼び出します。

@app.route('/console')
def console(): 
    import pexpect
    child = pexpect.spawn('python')
    child.expect('\n>>>')
    child.sendline('import os')
    child.expect('\n>>>')
于 2014-04-05T09:53:18.423 に答える
0

シェル スクリプトを実行するのと同じ方法で python を呼び出し、-c オプションを使用して python コードを渡すことができます。http://docs.python.org/2/using/cmdline.htmlを参照してください

ただし、これは信じられないほど安全ではないため、Web アプリで行うことはお勧めしません。

これに設定されている場合は、Python http://docs.python.org/2/library/restricted.htmlで制限された実行を読んでください。

于 2013-07-18T22:03:13.527 に答える