2017-12-11 23 views
1

에서 eSpeak를하고 aplay 명령을 os.system을에서 변수를 사용하여 내 라즈베리 파이 필요합니다. 는 그리고 이것은 내가 subprocess 명령에 익숙하지이기 때문에 나는 os.system을 그것을 시도했습니다 이 인쇄 명령이 세 변수가</p> <pre><code>print label + " is " + spos + " and the distance is " + str(distance) + "cm" </code></pre> <p>에게 말을 내가 원하는 파이썬

$espeak -s110 "label + " is " + spos + " and the distance is " + str(distance) + "cm"" --stdout | aplay -D sysdefault:CARD=2 

파이썬

에 사용할 필요가 내가 쉘에서 사용하는 명령입니다.

os.system('espeak -s110 "'label' + is + 'spos' + and the distance is + 'str(distance)' + cm" --stdout | aplay -D sysdefault:CARD=2') 

잘못된 sytax 오류가 발생합니다. 나는 그것의 모든 버전을 시도하고 그것을 작동하게 만들 수 없었다.

+0

. '''와'''가 있어야하는 위치와 문자열 연결이 어떻게 작동하는지 생각해 보거나 [서브 프로세스의 문서] (https://docs.python.org/3/library/subprocess.html#using-the)를 참조하십시오. -subprocess-module)을 시도해보고 시도해보십시오. – Galen

답변

0

이 당신을 위해 무엇을 찾고있는 당신을 주어야한다 : 당신은`os.system`의 캐릭터를 조립하려고하는 방법에 구문 오류가

cmd = 'espeak -s110 "{0} is {1} and the distance is {2} cm" --stdout | aplay -D sysdefault:CARD=2'.format(label, spos, str(distance)) 

os.system(cmd) 
+0

감사합니다. –