我在想如何管理来自python脚本的另一个命令的输入。Python:使用来自其他命令的输入
例如:
$ cat myfile.txt | my_python_script.py
我的脚本如何从cat命令管理输入流?我如何从这个管道命令获得输入?
...非常感谢。
我在想如何管理来自python脚本的另一个命令的输入。Python:使用来自其他命令的输入
例如:
$ cat myfile.txt | my_python_script.py
我的脚本如何从cat命令管理输入流?我如何从这个管道命令获得输入?
...非常感谢。
一个简单而通用的方法是使用fileinput
模块。
import fileinput
for line in fileinput.input()
# do things with line
这样你既可以使用脚本在管道(如你现在需要右)或给一个或多个文件的脚本作为参数(认为my_python_script.py input.txt input2.txt
)。
通过sys.stdin.readlines()
读取标准输入的一个很好的选择:使用pipes模块。
管道模块定义了一个类来抽象管道的概念 - 从一个文件到另一个文件的一系列转换器。由于该模块使用/ bin/sh命令行,因此需要用于os.system()和os.popen()的POSIX或兼容shell。
这是一个不错的tutorial。
非常感谢。 Muchas gracias!我会读tuto – user1174386 2012-03-15 12:02:09
我会记住这一点,非常感谢。 – user1174386 2012-03-15 12:01:49