[英]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.