Bash脚本中的Bash代码无法从Python中运行(3.6)

2024-05-21 07:56:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一小段Bash脚本,它每1毫秒向串行设备连续输入一个字符12次(在设备重新启动后立即运行)。当我尝试运行它时,它在bash中运行良好。如果我尝试从Python运行它,使用相同的逻辑,它什么也不做。我还尝试从python中simplay调用这个bash脚本,但它仍然不起作用。下面是我的bash脚本:

for i in {1..12}
do echo 's' > /dev/ttyUSB2
sleep 0.1
done 

我尝试运行的python代码是:

#reboot here
for i in range (1, 12):
    os.popen("echo s > /dev/ttyUSB2")
    time.sleep(0.1) 

我还尝试从python中调用bash脚本

os.popen("source gotomode.sh")

其中gotomode.sh是bash脚本

我可能做错了什么? 使用python命令os.popen、subprocess.popen、popen2等时,计时是否不同

提前谢谢


Tags: indevecho脚本bashforossh