インストール済みのモジュールをテキストファイルに出力してみる

インストールしたモジュールの一覧を見てみたかったので書いてみた。

#-*- coding: utf-8 -*-

import sys

def main(): 
    f = open('modules.txt','w')    #ファイルオープン
    sys.stdout = f    #標準出力をmodules.txtに変更
    help('modules')    #インストール済みのモジュールの一覧を出力
    sys.stdout = sys.__stdout__    #標準出力を元に戻す
    f.close()

if __name__ == "__main__":
    main()

これでmodules.txtがカレントディレクトリにできる。

ちなみにSL4A上で実行すると、ファイルはできるんだけど元々の整形がめちゃくちゃになる。コンソールには↓のサイトに載っている感じの警告が出る。
バージョン2.5以上のPythonでハッシュ計算のモジュールをhashlibへ移行する - 試験運用中なLinux備忘録・旧記事



いやまぁ、インタプリタからhelp('modules')って打てばきれいに整形されたのが画面に出力されるんですけどね。