簡體   English   中英

在腳本中啟動腳本-如何解決/ bin / sh:1:filename.py:找不到

[英]Starting a script within a script - how do I fix /bin/sh: 1: filename.py: not found

我希望使用X-CTU通過Zigbee / XBee控制腳本。 我創建了一個名為zb_control.py的腳本。 現在,我正在嘗試啟動和停止此腳本中的另一個腳本。 腳本adxl345test.py用於從Raspberry Pi上連接的加速度計收集數據。

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行結尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM