No Computer and Music, No Life
テキスト抽出するコードをpythonで色々いじったのだが
結局sedとgrepを使うシェルスクリプトを書いた方が早かった。
pythonでテキストを扱うライブラリとかあるのかな?
pythonのos.systemでgrepを実行した場合
windowsだと常に0が返るので、結果を受け取れないのだ。
結果が欲しい場合、リダイレクションさせて一回ファイルに落とさないといけない
os.system("grep '***' './script.txt' > temp.txtx")
mynzさんに指摘してもらって、パイプを使ったらうまくいった
os.popen("grep '***' './script.txt'").read().split("\n")
MELのsystem関数だとちゃんと結果が返ってきて
stringに格納できる
string $result = system("grep '***' './script.txt'")
Computer Programming, Computer Graphics, Python, Cooking, my family and Vim Editor.
mail: info at redms dot com
2 Responses to system関数
mynz
4月 17th, 2008 at 00:56:26
外部コマンドを使ってそのプロセス戻り値ではなく、標準出力を受け取りたい場合はパイプを使うのがいいのでは。
Pythonでは、以下の感じかな?
result = os.popen(“ls”).read()
grepとsedでコトが足りるのなら、Pythonの組み込み系と正規表現で何とかなるかもね。
あきを
4月 17th, 2008 at 11:06:58
おお出来ました!
ありがとうございます!
これでいちいちファイルにリダクションしなくてよくなりました!