您好,如果我在一个脚本中有一个标志,是否可以将实时更改传递给其他脚本?我的意思是,例如我写了这个脚本。让我们将它命名为script1.py从串行通信中读取数据并将其保存到 .txt文件中。当data我收到的是'0'我想传递flag sent_json 给script2. 所以当script2得到触发器时,POST 数据。有什么建议 ?while True: try : a = ser.readline() timestamped = str(datetime.datetime.now()) suma = timestamped + "\t " + a.decode('utf-8') f = open("current_data.txt", 'a') f.write(suma) if (a.decode().strip() == '0'): sent_json = True saveData() print("New data is saved!") sent_json = False except : print("Unexpected error: ") break我有另一个脚本,让它命名script2.py,其中是主Flask应用程序:import sqlite3, jsonfrom flask import Flask, render_template, requestfrom serialNumber_id import serial_numberimport sysapp = Flask(__name__)@app.route("/")def PostData(): ''' Connect to DB, set the temperature to 2 decimal float, POST Data to DB''' with open("data.json") as dataFile: data = json.load(dataFile) for key, value in data.items(): temperature = "{0:.2f}".format(float(value['data'])) date = value['date'] conn = sqlite3.connect('sensordata.db') cur = conn.cursor() cur.execute( """INSERT INTO Temperature_data(temperature, currentdat, currenttime, device) VALUES ((?) , (?), time("now"), (?))""", (temperature, date, serial_number)) conn.commit()open('data.json', 'w').close()####### Code something like while True: if sent_json : do something else: do something# if __name__ == "__main__":# app.run(host='0.0.0.0', port=8181, debug=True)请注意,我已经尝试过 script2from script1 import sent_json脚本也位于同一文件夹中。
2 回答

三国纷争
TA贡献1804条经验 获得超7个赞
因此,最简单的事情是写入某种共享资源,例如文件,因为无论如何您都在进行轮询。因此,script1
将一些内容(可能是时间戳)写入文件,并script2
不断轮询该文件以检查它是否已更改。
让我警告你,如果你想要性能或效率,这就像任何依赖于文件系统的东西一样,是一个糟糕的解决方案。
添加回答
举报
0/150
提交
取消