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のファイルから読み取る」を実装する方法がわかりません。
可能であれば、これを行うためのポータブルな方法が欲しいです。