如何将不断变化的变量从一个脚本导入到另一个脚本?

时间:2021-07-19 15:05:01

标签: python file variables import

我有一个名为 speed 的变量,它是我的 python 文件的输出,用于跟踪某人面部的速度。但是变量一直在变化,因为面部移动的速度在变化。我想 import 这个不断变化成另一个 python 脚本的变量。关于如何做到这一点的任何想法?

这是一些代码

    _, frame = cap.read()
    
    
    intialTime = time.time()
    face_width_in_frame, Faces, FC_X, FC_Y = face_data(
        frame, True, Distance_level)
    
    for (face_x, face_y, face_w, face_h) in Faces:
        if face_width_in_frame != 0:

            Distance = Distance_finder(
                Focal_length_found, Known_width, face_width_in_frame)
            DistanceList.append(Distance)
            avergDistnce = averageFinder(DistanceList, 6)
            
            roundedDistance = round((avergDistnce*0.0254), 2)
            
            Distance_level = int(Distance)
            if intialDisntace != 0:

                changeDistance = Distance - intialDisntace
                distanceInMeters = changeDistance * 0.0254

                velocity = speedFinder(distanceInMeters, changeInTime)

                speedList.append(velocity)

                averageSpeed = averageFinder(speedList, 6)
            
            intialDisntace = avergDistnce

            changeInTime = time.time() - intialTime
            

            cv2.line(frame, (25, 45), (80, 45), (ORANGE), 26)
            cv2.line(frame, (25, 45), (80, 45), (GREEN), 20)
            if averageSpeed < 0:
                averageSpeed = averageSpeed * -
                newaverageSpeed = averageSpeed*39.57                        
            cv2.putText(
                frame, f"Speed: {round(averageSpeed,2)} in/s", (30, 50), fonts, 0.5, BLACK, 2)

            cv2.putText(frame, f"Distance {roundedDistance*39.57} inches",
                        (face_x-6, face_y-6), fonts, 0.5, (BLACK), 2)
    cv2.imshow("frame", frame)
    out.write(frame)

    if cv2.waitKey() == ord("q"):
        break

cap.release()

cv2.destroyAllWindows() 

我想获取输出变量 averageSpeed、roundedDistance 并将它们导入到另一个脚本中。我该怎么做?

1 个答案:

答案 0 :(得分:0)

似乎您只需通过模块名称引用变化的变量即可。
这就是我要说的:

for item in var.my_var.instances : item[0].zone => {

Sub Salva()
Dim X As String 
X = "Foglio salvato n° " & Range("G3").Value
Sheets(1).Copy 
ActiveWorkbook.SaveAs Filename:="C:\Users\wc074\Documents\archivi\" & X & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWindow.Close
End Sub

main.py

from time import sleep, time
import other_script

start = time()

while time()-start < 10:  # Loop for around 10 seconds.
    print(other_script.speed)
    sleep(1)

other_script.cancel_updates()
print('fini')

输出:

other_script.py
相关问题