你如何在python中连接两个命令字?

时间:2016-11-18 23:18:19

标签: python printing connect

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()时,它也会说出我打印的内容。

请原谅我(可能)滥用术语。

2 个答案:

答案 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")