Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

宿題

Pythonでやってみた。

課題1 指定したディレクトリ以下の空ディレクトリを全て削除しなさい

import os
def remove_dir_empty(root):
    for name in os.listdir(root):
        path = os.path.join(root, name)

        if os.path.isdir(path):
            remove_dir_empty(path) # 再帰呼び出し
            if os.listdir(path) == []:
                os.rmdir(path) # ディレクトリが空なら削除

remove_dir_empty(".")

あんまパイソンっぽくないなあ。。pythonにはos.walk()っていう便利な関数(ジェネレータ)があるんだけど、再帰的空ディレクトリ削除には使えん

課題2. grepコマンドを作りなさい

import sys
import re
pat = re.compile(sys.argv[1])
files  = sys.argv[2:]
for f in files:
    for line in open(f).readlines():
        if pat.search(line):
            print line,

すっきりしてていい感じ。