2017-11-27 6 views
-1

フラスコのアプリケーションで複雑なpythonスクリプトを呼び出そうとしていますが、今のところそれを行う方法は完全にはわかりません。それがシンプルならば、私はフラスコ内のルータでスクリプトをコピーして貼り付けるだけですが、それはあまりにも面倒です。これまで私は私のmain.pyのためにこれを持っています。私はスクリプトtemp.pyを呼びたいと思う。フラスコ内のバックエンドでPythonスクリプトを呼び出す方法

from flask import Flask, render_template, request 
app = Flask(__name__) 

@app.route('/') 
def base(): 
    return render_template("base.html") 


@app.route('/temp', methods=['GET', 'POST']) 
def temp(): 


if __name__ == "__main__": 
    app.run(debug=True) 
+0

https://stackoverflow.com/questions/89228/calling-an-external-command-in-python – Nabin

+0

、あなたにもさまざまなキューイングおよびスケジューリング技術を維持することができます。 – Nabin

+0

は 'temp.py'に' __name__ == '__main __': 'ブロックがあることを確認します。そのため、インポート時にすぐに実行されません。それからそれが存在しない場合は、実行するコードを実行する 'temp.py'を呼び出す関数を定義し、tempをインポートして関数を呼び出します。 –

答えて

1

コマンドラインでスクリプトを呼び出すためのサブプロセスを使用することができます

import subprocess 
process = subprocess.Popen(['python' , 'temp.py' ], stdout=subprocess.PIPE) 
out, err = process.communicate() 
print(out) 
それが出力やエラーを提供します

(もしその存在)

ため、この一見詳細は:

python 2: https://docs.python.org/2/library/subprocess.html

python 3:これに加えて https://docs.python.org/3/library/subprocess.html

+0

または 'os.system()'または 'subprocess.call()'または 'subprocess.check_output()' ...現在のプロセスからプロセスを作成/呼び出す方法はたくさんあります –

関連する問題