这可能是一些非常基本的东西,但是我找不到一个很好的解决方案.
我需要编写一个可以接受管道输入的 python脚本,如下所示:
我需要编写一个可以接受管道输入的 python脚本,如下所示:
$some-linux-command | my_script.py
这样的:
cat email.txt | script.py
或者它将直接从sendmail通过我的.forward文件进行管道传输.这意味着如果输入文件有附件,它可能会比较大,并且它可能是一个电子邮件,稍后我将不得不在数据库中放置发件人,主题等等,但是我已经编写了数据库脚本在python中,这样就可以了.
主要的问题是如何捕获从管道流出的数据.
使用sys.stdin来读取输入.示例:
s.py的示例内容:
import sys data = sys.stdin.readlines() print data
– 跑步:
user@xxxxxxx:~$cat t.txt alpha beta gamma user@xxxxxxx:~$cat t.txt | python ./s.py ['alpha\n','beta\n','gamma\n']
您也可以使用此Shebang将python脚本作为shell脚本:
#!/usr/bin/env python
并将许可更改为“a x”
user@xxxxxxx:~$cat t.txt | ./s.py ['alpha\n','gamma\n']