python - 如何使用 Raspberry Pi motion 播放音频文件?可能的权限问题?

标签 python linux raspberry-pi file-permissions raspberry-pi2

好吧,这就是我所拥有的:

我有一个名为 detect.sh 的脚本。此文件位于 /home/pi/detect/detect.sh。它的权限是:-rxwrxwrxw 1 motion motion 66 Feb 19 10:20/home/pi/detect/detect.sh

这个脚本,包含这段代码:

#!/bin/sh
date >> /home/pi/detect/detect_log.txt
python /home/pi/detect/detect.py

如您所见,此脚本执行我的 Python 脚本。

我的 python 脚本位于 /home/pi/detect/detect.py,您也可以看到。我的 python 脚本具有以下权限:-rwxrwxrwx 1 motion motion 178 Feb 19 10:28/home/pi/detect/detect.py

我的 Python 脚本包含以下代码:

import os
import subprocess

text_file = open('/home/pi/Desktop/output.txt', 'w')
text_file.write('Test 1')
text_file.close()

os.system("sudo aplay /home/pi/detect/bark.wav")

当我开始运动时,使用 sudo service motion restart,没有任何反应。我在运动的配置文件中有

on_event_start sh /home/pi/detect/detect.sh

我知道这是有效的。因为我的 detect_log.txt 已正确创建和更新,这意味着我的脚本正在运行。但我的 python 脚本不是。我没有听到狗叫声,也没有创建 .txt 文件。

此外,我的 Python 脚本在我使用独立模块运行时运行,使用 Python。我听到一声吠叫,文件已创建。

这是权限问题吗?到底是怎么回事?可能是 Python 问题的权限?我很困惑,几周来一直在寻找答案。感谢您的帮助。

最佳答案

我仍然无法弄清楚如何在运动开始时执行 python 脚本。相反,我只是在启动时运行一个 bash 脚本来创建一个新的 .txt 文件。在启动时,我还有运行 while 循环的感兴趣的 python 脚本;创建 .txt 文件后,它将退出 while 循环并运行脚本的其余部分。

关于python - 如何使用 Raspberry Pi motion 播放音频文件?可能的权限问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35569432/

相关文章:

python - 为什么语法错误,代码无法按顺序打印

java - 在 linux 中从 c 程序调用 java 程序

c - 在 C 程序上通过 execve/l 执行 omxplayer 不会在 fork() 之后在子进程的非 X 控制台上输出视频

Python分析图像中的特定区域

python - 使递归函数迭代?

python - lxml事件解析大文件以仅提取一些数据

linux - 清理这个命令

linux - 如何使用DPDK编写DNS服务器?

c - 套接字任意连接 - 或不连接

python - 如何找到白色像素 block 的像素位置