我正在为python 2.7编写一个电子邮件解析器,它将使用别名通过sendmail调用,使用电子邮件模块解析,然后处理并存储到oracle数据库中:
来自/ etc / aliases:
myalias:| /my/python/script.py
我无法将所有stdin“sl”到一个字符串对象中,我可以将其与电子邮件模块一起使用:
import email
# Slurp stdin and store into message
message =
msg = email.message_from_string(message)
# Do something with it
print msg['Subject']
最有效的方法是什么?我已经尝试过stdin.readlines()但它最终成为一个列表。
感谢任何帮助。 (对不起,如果这是noobish ...我是一个perl转换器,并被迫使用python标准化我的工具,这只是我的第二个脚本。好吧不是真的“强迫”,我一直想要这样做一段时间但不是像现在这样截止日期的枪支。)
答案 0 :(得分:9)
sys.stdin.readlines()
返回一个行列表。如果您想要的是一个长(多行)字符串,请使用sys.stdin.read()
。