我在想如何管理來自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