为了账号安全,请及时绑定邮箱和手机立即绑定

将标志从 python 脚本传递到另一个

将标志从 python 脚本传递到另一个

德玛西亚99 2021-09-02 16:25:01
您好,如果我在一个脚本中有一个标志,是否可以将实时更改传递给其他脚本?我的意思是,例如我写了这个脚本。让我们将它命名为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不断轮询该文件以检查它是否已更改。

让我警告你,如果你想要性能或效率,这就像任何依赖于文件系统的东西一样,是一个糟糕的解决方案。


查看完整回答
反对 回复 2021-09-02
  • 2 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信