python - Bash命令在Python中不起作用
问题描述
我正在尝试从 Python 或 Perl 执行下一个 bash 命令:
googlesamples-assistant-pushtotalk --credentials /home/jsti/.config/google-oauthlib-tool/credentials.json
--device-model-id 'pbx-assista' --device-id 'pbx' -i /tmp/google_audio1314_in.wav -o /tmp/google_audio1314_out.wav -v
基本上这个想法是向 Google Assistant 发送音频,之后,它应该用另一个音频来回答我的音频。我应该收到一个音频文件作为 Google 助理的响应,但我没有收到。没有错误,但文件没有到达。
如果我在终端中执行该命令,则该命令可以正常工作。
有谁知道这个命令发生了什么?
这是代码:
#!/usr/bin/env python
import sys
from asterisk.agi import *
import subprocess
command = "googlesamples-assistant-pushtotalk"
oauth_dir = "/home/jsti/.config/google-oauthlib-tool/credentials.json"
audio_in = "/tmp/google_audio1314_in.wav"
audio_out = "google_audio1314_out.wav"
agi = AGI()
agi.verbose("python agi started")
callerId = agi.env['agi_callerid']
agi.verbose("call from %s" % callerId)
while True:
args = [command, '--credentials', oauth_dir, '--device-model-id', '"pbx-assista"', '--device-id', '"pbx"', '-i', audio_in, '-o', audio_out, '-v' ]
subprocess.Popen(args)
解决方案
去掉"pbx-assista"
and周围的双引号"pbx"
。
args = [command, '--credentials', oauth_dir, '--device-model-id', 'pbx-assista', '--device-id', 'pbx', '-i', audio_in, '-o', audio_out, '-v']
推荐阅读
- javascript - 您在哪里存储您在 javascript Web 应用程序中使用的第三方 API ApiKey?
- python - 如何使用 Python 保存 ImageJ tiff 元数据
- javascript - DataTables 隐藏搜索输入和行数下拉列表
- r - sample_n 根据类别动态
- java - 连接到远程服务器时,JMeter 在本地计算机上不起作用
- vue.js - 移动设备上的边距/填充 - Quasar Framework (VueJS)
- flutter - 没有为“Stream”类定义方法“retype”
' (rx-飞镖) - git - 崩溃的合并:git 如何在合并结账期间处理未提交的更改?
- java - 可以将 CA(客户端)颁发的证书与自签名证书(服务器)进行通信吗?
- java - 访问 Dockerfile 中的上下文之外