[英]Passing data between 2 endless loops in python
我正在使用一個 python 腳本,它使用 cmdloop 並從命令行獲取輸入:
import cmd
class SuperC2(cmd.Cmd):
def default(self, line):
f = open("command.txt", "w")
f.write(line)
f.close()
if __name__ == '__main__':
SuperC2().cmdloop('Shell')
另一個腳本使用 flask 並讀取 command.txt 文件並將其(通過 GET 請求)提供給客戶端。 它還偵聽執行此命令並發布 output 的客戶端的 POST:
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/command')
def command():
str = open('command.txt', 'r').read()
return str
@app.route('/result', methods = ['POST'])
def result():
if request.method == 'POST':
data = request.form
print(data["command"])
print(data["output"])
return "ok"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)
我真正想要實現的是擁有一個同時運行 flask 應用程序和 cmdloop 的腳本,只有 cmdloop 顯示命令和結果(它來自 flask POST)。 有人可以舉例說明如何做到這一點嗎? 我猜是進程隊列還是管道?
通常,在兩個腳本/線程/你有什么之間傳輸數據的最簡單方法是使用來自socket
庫的套接字。 只需讓一個腳本/線程托管綁定到 127.0.0.1 的服務器並從另一個進程連接到它!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.