因此,我有一个Raspberry Pi装置,用于检查gmail帐户,如果出现新邮件,它将在节日期间大声读出来。

我通过粗略的'echo "' + str(message) + '" | festival --tts'呼叫与Festival互动,其中message是传入电子邮件的内容。

我猜想有人会在该消息中发送令人讨厌的消息并破坏计算机,我想知道是否存在清除消息并使整个过程更安全的好方法。

我可以验证电子邮件地址,但是,即使在已验证的电子邮件中,我也想进行任何检查。

最佳答案

您是否必须使用外壳程序来调用Festival?
如果不是这样,那就留在python内并使用一个lib(例如pyfestival),因为这可能更简单,而且您没有冒着向消息中注入shell代码的风险。

更新:当您想通过单独的过程调用它时,请尝试使用类似的方法(虽然尚未测试)

from subprocess import Popen, PIPE
p = Popen(['festival', '--tts'], stdin=PIPE)
p.communicate(input=message)


上面是question答案的定制版本

关于python - 将用户输入传递给节日,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38449608/

10-10 18:20