import os
blah = 'Umm'
print('blah')
os.system('say blah')
"""so I want to make these two things linked,
so that whenever I print something, it says that something
"""
我想把这两件事联系起来,这样每当我打电话给print()时,它也会说出我打印的内容。
请原谅我(可能)滥用术语。
答案 0 :(得分:0)
您可以将say
作为子进程运行并将数据写入其stdin。我使用espeak在linux上做了这个,但我认为我的说法命令正确。
import subprocess
say = subprocess.Popen(["say", "-f", "-"], stdin=subprocess.PIPE)
def myprint(*args):
print(*args)
say.stdin.write((' '.join(args) + '\n').encode('utf-8'))
myprint("hello there")
答案 1 :(得分:0)
你需要将它包装在一个函数中,然后它只是一个简单的例子,用print
printSay
import os
def printSay(word):
print(word)
os.system('say {word}'.format(word=word))
# Usage
printSay("Hello")