python - Bash 命令在 Python 中不起作用

标签 python google-assistant-sdk google-assist-api

我正在尝试从 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 Assistant 的音频文件作为响应,但我没有收到。没有错误,但文件未到达。

如果我在终端中执行该命令,该命令将正常工作。

有人知道这个命令发生了什么吗?

这是代码:

#!/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""pbx" 周围的双引号。

args = [command, '--credentials', oauth_dir, '--device-model-id', 'pbx-assista', '--device-id', 'pbx', '-i', audio_in, '-o', audio_out, '-v']

关于python - Bash 命令在 Python 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50471326/

相关文章:

python - 如何使 Django 模型实例与另一个模型实例相关

python - 使用 python cplex 的 0-1 背包

firebase-realtime-database - 使用 Google Assistant 更改 Firebase 数据库值

android - 使用 Google Assistant 添加语音控制

python - 在树莓派上设置 Google Assistant SDK 时遇到问题

android - 向 Android Assistant 添加内容

python - 扩展分组代码以处理更通用的输入

python - Django URL 正则表达式

Python 在使用 sudo 启动时找不到模块

c++ - Google Assistant SDK (C++) - 广播指令