【发布时间】:2014-10-29 23:12:05
【问题描述】:
我查看了Reading stdout from one program in another program,但没有找到我正在寻找的答案
我是 Linux 新手,我正在使用 Python 中的 argparse 模块通过我的 Mac 上的终端使用程序运行参数
我有 program_1.py,它通过 sys.stdin 输入文件并将数据输出到 sys.stdout
我正在尝试让 program_2.py 接收从 program_1.py 输出到 sys.stdout 的数据,并将其作为 sys.stdin 接收
我尝试了一些类似的方法:
Mu$ python program-1.py <sample.txt> program-2.py
为简单起见,假设“sample.txt”只有字符串“1.6180339887”
program_2.py 是 sys.stdin,如何从前一个程序的 sys.stdout 中读取?
在这个简单的示例中,我只是想让 program_2.py 将“1.6180339887”输出到 sys.stdout,这样我就可以看到它是如何工作的。
有人告诉我使用 |管道的字符,但我无法使其正常工作
【问题讨论】:
-
为了避免每次都添加
python前缀,您可以在最顶部添加#!/usr/bin/env pythonline (shebang)并为脚本设置可执行权限:chmod +x program_1.py。之后,您可以将脚本运行为./program_1.py
标签: python linux terminal argparse pipeline