如何将shell命令输出重定向到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']

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...