[英]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.