CLIスクリプトがあり、ファイルからデータを読み取ってほしい。それは2つの方法でそれを読むことができるはずです:
cat data.txt | ./my_script.py
./my_script.py data.txt
grep
-たとえば、少し似ています。
私が知っていること:
sys.argv
引数とoptparse
オプションを簡単に読みましょう。sys.stdin
パイプされたデータを読み取らせてくださいfileinput
全プロセスを自動化する
不運にも:
- using
fileinput
は、stdinと任意の引数を入力として使用します。そのため、ファイル名ではないオプションを開こうとするため、使用できません。 sys.stdin.readlines()
正常に動作しますが、データをパイプ処理しないと、入力するまでハングしますCtrl + Dstdin
常にTrue
ブールコンテキストであるため、「stdinに何もない場合は、argsのファイルから読み取る」を実装する方法がわかりません。
可能であれば、これを行うためのポータブルな方法が欲しいです。