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

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

from flask import Flask, render_template, request

from serialNumber_id import serial_number


import sys


app = 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)

请注意,我已经尝试过 script2


from script1 import sent_json

脚本也位于同一文件夹中。


德玛西亚99
浏览 164回答 2
2回答

三国纷争

因此,最简单的事情是写入某种共享资源,例如文件,因为无论如何您都在进行轮询。因此,script1将一些内容(可能是时间戳)写入文件,并script2不断轮询该文件以检查它是否已更改。让我警告你,如果你想要性能或效率,这就像任何依赖于文件系统的东西一样,是一个糟糕的解决方案。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python