因此,我有一个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/