2017-12-26 6 views
0

Ich habe eine Website mit Flask (Python 2.7) entworfen. Ich habe ein Python-Skript (c.py) mit der Funktion send_file() an den Client gesendet.Ausführen eines Python-Skripts auf der Clientseite von der Serverseite

Jetzt möchte ich c.py auf dem Client-System von der Server-Seite laufen, vielleicht mithilfe meiner Website selbst oder mein System. Gibt es einen möglichen Weg, das zu tun?

Hinweis: Client und Server befinden sich im selben Netzwerk.

Ist es möglich, ein Python-Skript zu schreiben, das ein anderes Python-Skript auf einem anderen System ausführen kann?

+0

vielleicht sollten Sie Ihr Programm besser so gestalten: https://en.wikipedia.org/wiki/Remote_procedure_call? –

+0

Es gibt mehrere Möglichkeiten, dies zu tun. Ein einfacher Weg ist durch SSH (wenn auf Linux/Mac-Plattform läuft) – Vinny

+0

@py_dude danke wird es in Betracht ziehen. –

Antwort

0

exec ("Geben Sie den Inhalt Ihrer Py-Datei ein"), die dynamische Ausführung von Python-Code unterstützt.

Eine Demo hier: Nehmen wir an, dass Sie auf Client-Seite Python-Skript ausführen konnte

=== Server Side ===

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) 

=== Client Side ===

import requests 

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

Wie und wo verwenden? –

+0

Wenn Ihr Client-System c.py erhält, übergeben Sie den Inhalt von c.py in 'exec' – Jacky

+0

Ich habe eine Demo hinzugefügt. Aber ich weiß nicht, wie Ihr Client aussieht, also nehmen Sie an, dass Sie Python-Skript auf Client-Seite ausführen können. – Jacky

Verwandte Themen