system関数

In: Maya| python

16 4月 2008

テキスト抽出するコードを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'")

2 Responses to system関数

Avatar

mynz

4月 17th, 2008 at 00:56:26

外部コマンドを使ってそのプロセス戻り値ではなく、標準出力を受け取りたい場合はパイプを使うのがいいのでは。
Pythonでは、以下の感じかな?

result = os.popen(“ls”).read()

grepとsedでコトが足りるのなら、Pythonの組み込み系と正規表現で何とかなるかもね。

Avatar

あきを

4月 17th, 2008 at 11:06:58

おお出来ました!
ありがとうございます!
これでいちいちファイルにリダクションしなくてよくなりました!

Comment Form

About this blog

Computer Programming, Computer Graphics, Python, Cooking, my family and Vim Editor.

mail: info at redms dot com

Photostream

    InuitBarMomizi
  • あきを: フリーズなんて一回もしたことないね〜 safariは結構速いよ [...]
  • hossy: お~。箱白いんだね~。 速さはどーなんだろ。 こっちはちょいちょ [...]
  • 妻より: 今思い出してもあれは拷問でした。 一度でも「元から無痛分娩か帝王切 [...]
  • あきを: S式支援は普通に使ってます とかとかとか あとはコピペは使うようにな [...]
  • mynz: 自分も Scheme でコードを書くときは emacs を使用しているけど、元々素の状 [...]

TumblrRSS

tumblr

カテゴリー

アーカイブ