pythonで環境変数を取得したり、ディレクトリを作成したりする

http://d.hatena.ne.jp/dwarfjay/20110603/1307103419の改造ネタの続きです。

このスクリプトは、crontabの中で、
@hourly /root/backup.py home
@daily /root/backup.py boot gentoo
として動かしていたのですが、'backup.py'のプロセスを二つ同時に動かした場合、マウントポイントが重複するため、バックアップが滅茶苦茶になってしまうという不具合があります。そこで、マウントポイントを実行ユーザーの$HOMEとした上で、マウントポイントをパーティション毎に分けることにしました。

環境変数HOMEの取得
os.getenv('HOME')

path pが存在するかどうか問いあわせ
os.path.exists(p)

ディレクトリの作成
os.mkdir(p)

mkdir -p相当
os.makedirs(p)

        """
        文字列 mnt_root
        バックアップを取るパーティションをマウントする時のルート
        このプロセスを実行するユーザーのホームディレクトリとします
        """
        mnt_root = os.getenv('HOME')

        """
        文字列 source_mtpt 
        バックアップ元のマウントポイント
        """
        source_mtpt = mnt_root + "/source/" + partition

        """
        文字列 dest_mtpt 
        バックアップ先のマウントポイント
        """
        dest_mtpt = mnt_root + "/dest/" + partition

        #もし、source_mtpt,dest_mtptが存在しなければ、作成します
        for p in (source_mtpt,dest_mtpt):
            if os.path.exists(p) == False:
                os.makedirs(p)

結構簡単に修正できました。