您好,如果我在一个脚本中有一个标志,是否可以将实时更改传递给其他脚本?我的意思是,例如我写了这个脚本。让我们将它命名为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
	提交
		取消
	