2017-12-26 15 views
0

Flask(Python 2.7)を使用してウェブサイトを設計しました。 send_file()機能を使用してPythonスクリプト(c.py)をクライアントに送信しました。クライアント側でPythonスクリプトをサーバー側から実行する

今私はc.pyをクライアント側でサーバー側から実行したいと思うかもしれません。それを行う可能な方法はありますか?

注:クライアントとサーバーは同じネットワーク上にあります。

別のシステムで別のpythonスクリプトを実行できるpythonスクリプトを記述することはできますか?

+0

このような方法でプログラムを設計する方がいいかもしれません:https://en.wikipedia.org/wiki/Remote_procedure_call? –

+0

これにはいくつかの方法があります。 1つの簡単な方法は、SSH(Linux/Macプラットフォームで実行している場合)です。 – Vinny

+0

@py_dudeに感謝します。 –

答えて

0

exec( "pyファイルの内容を入力する")。Pythonコードの動的実行をサポートしています。

ここにデモ:あなたは、クライアント側でのPythonスクリプトを実行する可能性があるとし

===サーバ側===

from flask import Flask, send_file 
import StringIO 

app = Flask(__name__) 

@app.route('/') 
def index(): 
    sio = StringIO.StringIO() 
    sio.write('print("hello world")') 
    sio.seek(0) 
    return send_file(sio, attachment_filename="c.py") 

app.run(debug=True) 

===クライアント側===

import requests 

code = requests.get('http://localhost:5000').text 
exec(code) # <----- 
+0

どうやって使うの? –

+0

クライアントシステムがc.pyを受け取ったら、c.pyの内容を 'exec'に渡します。 – Jacky

+0

デモを追加しました。しかし、私はあなたのクライアントがどのように見えるか分からないので、クライアント側でPythonスクリプトを実行できるとします。 – Jacky

関連する問題