在脚本中启动脚本 - 如何修复 /bin/sh:1:filename.py:未找到



我希望使用 X-CTU 通过 Zigbee/XBee 控制脚本。我创建了一个名为 zb_control.py 的脚本。现在,我正在尝试启动和停止此脚本中的另一个脚本。脚本adxl345test.py用于从我的树莓派上附加的加速度计收集数据。

zb_control.py脚本背后的想法是我运行它,然后如果我在 X-CTU 中键入"run",脚本将开始运行adxl345test.py并收集数据。

我正在尝试在脚本中创建一个脚本,该脚本也可以再次停止,然后仍然运行zb_control.py以接收来自 X-CTU 的新输入。

如您所知,我尝试了不同的东西:

import serial, time, sys, os, subprocess
from subprocess import check_call
from subprocess import call
while True:
    ser=serial.Serial('/dev/ttyUSB0',9600,timeout=2)
    inc=ser.readline().strip()
    if inc=='run':
        print("---------------")
        print("Collecting data")
        print("---------------")
        p = subprocess.Popen("adxl345test.py", stdout=subprocess.PIPE, shell=True)
        # p = call(["python", "adxl345test.py"])
        # p = os.system("python adxl345test.py")
        # p = execfile("adxl345test.py")
        # call(["python", "adxl345test.py"])
    elif inc=='stop':
        # check_call(["pkill", "-9", "-f", adxl345test.py])
        # serial.write('x03')
        # os.system("pkill –f adxl345test.py")
        # call(["killall", "adxl345test.py"])
        p.kill()
        print("-----------------------")
        print("Script has been stopped")
        print("-----------------------")

启动 adxl345test.py 脚本时出现此错误:

/bin/sh: 1: adxl345test.py: not found

如何修复此错误?

确保在外部脚本中使用 UNIX 行尾。

相关内容

最新更新