パス操作は標準ライブラリのos.pathを使うと簡単に扱うことができます。
参考:6.2 os.path -- 共通のパス名操作

・簡単な使い方テストプログラム

#! /bin/usr/env python
# -*- coding:utf-8 -*-

import os
import time

if __name__=='__main__':
szPath = u'C:/Python25/Lib/site-packages/sitecustomize.py'
szPathDir = u'C:/Python25/Lib/site-packages'

#----------パス分解----------#
#ファイル名を取得(拡張子付き)
szBaseName = os.path.basename(szPath)
print u'os.path.basename:%s' % szBaseName
#os.path.basename:sitecustomize.py

#ディレクトリ名を取得
szDirName = os.path.dirname(szPath)
print u'os.path.dirname:%s' % szDirName
#os.path.dirname:C:/Python25/Lib/site-packages

#パスをディレクトリ名とファイル名に分解
(szHead,szTail) = os.path.split(szPath)

#basename()とsplit()の戻り値2番目要素と一緒
if szBaseName == szTail:
print u'szBaseName equal szHead'
#dirname()とsplit()の戻り値1番目要素と一緒
if szDirName == szHead:
print u'szDirName equal szTail'

#パスをドライブとそれ以降に分解
print os.path.splitdrive(szPath)
#(u'C:', u'/Python25/Lib/site-packages/sitecustomize.py')

#パスをファイル名までのパスと拡張子(.付き)に分解
print os.path.splitext(szPath)
#(u'C:/Python25/Lib/site-packages/sitecustomize', u'.py')

#リストに含まれるパスの先頭からの共通部分を出力
print os.path.commonprefix([szPath,u'C:/Python25/Lib/dummy.py'])
#C:/Python25/Lib

#一文字一文字チェックするので、パスの途中までが出力される
print os.path.commonprefix([szPath,u'C:/Python25/LiB/dummy.py'])
#C:/Python25/Li

#----------パス(ファイル)チェック----------#
#パスが有効化どうかチェック(ファイル、ディレクトリ関係なし)
if os.path.exists(szPath) == True:
print u'%s is exist' % szPath
if os.path.exists(szPathDir) == True:
print u'%s is not exist' % szPathDir

#isfile:ファイルがあるかないかチェック
if os.path.isfile(szPath) == True:
print u'file:%s is exist' % szPath
#ディレクトリへのパスを渡すとFalseを返す
if os.path.isfile(szPathDir) == False:
print u'file:%s is not exist' % szPathDir

#isdir:ディレクトリがあるかないかチェック
if os.path.isdir(szPathDir) == True:
print u'dir:%s is exist' % szPathDir
#ファイルへのパスを渡すとFalseを返す
if os.path.isdir(szPath) == False:
print u'dir:%s is not exist' % szPath

#絶対パスかどうかチェック
if os.path.isabs(szPath):
print u'%s is abs' % szPath
else:
print u'%s is rel' % szPath

#----------パス操作---------#
#パスを大文字,小文字表記をシステムに合わせて変換(winだったら全部小文字)
print os.path.normcase(szPath)
#C:/python25/lib/site-packages/sitecustomize.py

#パス表記を標準化する
print os.path.normpath(u'C:/python25/./lib/../lib/site-packages/./sitecustomize.py')
#C:\python25\lib\site-packages\sitecustomize.py

#パスの結合
print os.path.join(szPathDir,u'sitecustomize.py')
#C:\python25\lib\site-packages\sitecustomize.py

#パスの結合(途中に絶対パスがある場合)
print os.path.join(szPathDir,u'sitecustomize.py',u'C:\python25\lib')
#C:\python25\lib 絶対パス以前に渡したパスは破棄される

#----------時間系----------#
#最終アクセス時間を表示(エポックからの経過秒)
print os.path.getatime(szPath)
#print time.gmtime(os.path.getatime(szPath)) #見やすい表記に変更
#最終更新時刻を表示(エポックからの経過秒)
print os.path.getmtime(szPath)
#print time.gmtime(os.path.getmtime(szPath)) #見やすい表記に変更
#最終変更時刻(UNIX)、作成時刻(win)を表示(エポックからの経過秒)
print os.path.getctime(szPath)
#print time.gmtime(os.path.getctime(szPath)) #見やすい表記に変更

#----------環境変数系---------#
#Macでは正常に処理されません

#最初の'~'を環境変数HOMEの値に変換
print os.path.expanduser(u'~/~')
#環境変数を表示
print os.path.expandvars(u'$PYTHON_ROOT')

#----------関数呼び出し----------#
def Print_Dir(arg,dirname,names):
#arg:os.path.walk()の第3引数が渡される
#dirname:os.path.walk()の第1引数が渡される
#names:dirname内の要素が渡される

print dirname
#C:/python25/lib #os.path.walk()第一引数のパス

#dirname内のファイル、ディレクトリを表示
for name in names:
if os.path.isdir(os.path.join(dirname,name)):
print u' dir:'+ name
elif os.path.isfile(os.path.join(dirname,name)):
print u' file:' + name
else:
print arg

szTemp = u'ファイルでもディレクトリでもないっす'
#os.path.walk
#指定ディレクトリ以下のディレクトリに対して関数を呼ぶ
#第1引数:ディレクトリ
#第2引数:関数
#第3引数:任意のパラメータ

#C:/python25/lib以下のディレクトリ、ファイルを表示
os.path.walk(u'C:/python25/lib',Print_Dir,szTemp)