読者です 読者をやめる 読者になる 読者になる

渡米生活。(日記)

渡米生活。本家から切り離しました。あまり渡米生活に関係のないプログラムネタや音楽ネタなど。

Pythonスクリプト内で、Unixコマンドの戻り値を得るには

またしてもPythonです。。

Python scriptの中でUnixコマンドを実行するのには、よく

>>> import os
>>> os.system('whoami')

とかやればよい、と書いてあったりします。で、じゃ、このwhoamiの結果を使おう、とこんなことをやると、失敗します。

>>> myname = os.system('whoami')
>>> myname
0

まあ、成功する環境もあるのかも知れないですが、要はOSのsystem関数の戻り値が何かということで、これが常に0だったりするとダメというわけです。

で、じゃあ、どうやって値をとってくればいいのさ?! と探したら、Python日本ユーザー会のライブラリリファレンスのすっごい下の方に、諦めかけたころにちゃんとありました (^^;)。

>>> import commands
>>> myname = commands.getoutput('whoami')
>>> myname
'lilylila'

とかいう感じです。

ホッ。これでなんとか動きそう。

Python ライブラリリファレンスは、真面目に読めば使える情報満載なんだけど、いかんせん、時間が無い時に欲しい情報を探すのにはあんまり向いてないんだよな〜。。。