如何连接python中的两个命令词?

How do you connect two command words in python?

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
"""

我想要 link 这两个东西,这样每当我调用 print() 时它也会说出我打印的内容。

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

您可以 运行 say 作为子进程并将数据写入其标准输入。我在 linux 上用 espeak 做到了这一点,但我认为我的 say 命令是正确的。

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

你需要将它包装在一个函数中,然后它只是一个简单的例子,用 printSay

查找并替换你所有的 print
import os

def printSay(word):
    print(word)
    os.system('say {word}'.format(word=word))

# Usage
printSay("Hello")