如何编写hello.py脚本读取并打印命令行管道传入的字符串
实现目标
编写Python脚本hello.py,读取命令行管道传入的字符串并原样打印,执行命令echo "Hello StackOverflow" | python3 hello.py时,终端直接输出Hello StackOverflow。
完整代码
hello.py文件内写入以下内容即可:
import sys print(sys.stdin.read(), end='')
验证方式
在bash终端执行如下命令:
echo "Hello StackOverflow" | python3 hello.py
执行后终端将直接输出传入的字符串Hello StackOverflow,符合预期效果。
逻辑说明
- 管道传入的内容会被发送到Python进程的标准输入流,通过
sys.stdin.read()可以一次性读取所有传入的文本内容,支持单行、多行等任意管道输入场景 print函数默认会在输出内容末尾追加一个换行符,传入end=''参数可以取消这个默认追加行为,避免输出内容比原传入内容多一个空行,保证输出和输入内容完全一致。
内容的提问来源于stack exchange,提问作者Tahmin Ahmed
相关产品推荐
相关产品推荐

