【发布时间】:2017-04-04 12:23:19
【问题描述】:
首先,我对 Python 还是很陌生。我也搜索了一个解决方案,但我想通常的方法(subprocess.popen)在我的情况下不起作用。
我必须在已经运行的 python 脚本中将参数传递给侦听器,而无需一遍又一遍地启动脚本。有一个如何将消息传递到液晶屏的示例:
function printMsgText(message_text)
local f = io.popen("home/test/show_message.py '" .. message_text .. "'")
end
上面的这个 lua 脚本定义了每次收到消息时调用的过程。被调用的进程(show_message.py)如下所示:
import sys
from sense_hat import SenseHat
sense = SenseHat()
sense.clear()
sense.show_message(sys.argv[1])
我需要类似的东西,除了在后台运行另一个脚本,所以 show_message.py 不是最终过程,但需要将参数/消息传递给另一个已经运行的脚本。我的想法是让 show_message.py 将消息打印到控制台并在主进程中使用 sys.argv 但我有点担心它会变得混乱。
有什么简单的方法可以做到这一点吗? 亲切的问候
编辑:
主脚本是控制步进电机。根据用户输入,电机驱动预定义的步数。等待用户输入的脚本部分如下所示:
while wait:
user_position = input("Where do you wanna go? (0, 1, 2, back): ")
wait = False
# Console output
print("Position: " + str(user_position))
if user_position == "0":
stepper.set_target_position(position_zero)
wait = True
elif user_position == "1":
stepper.set_target_position(position_one
wait = True
elif user_position == "2":
stepper.set_target_position(position_two)
wait = True
elif user_position == "back":
break
现在我需要通过按我上面描述的方式设计的 Web 应用程序传递所需的位置(例如,每次传递变量/参数时调用 lua 脚本)而不是通过控制台。
【问题讨论】:
标签: python