os.path.splitext(path)

相対パス指定に上位ディレクトリーを参照する「..」がある場合には.os.path.normpath(os.path.join(パス1, パス2)) のようにします.

プログラム例

import os.path

path_abs  = '/home/yamamoto/hoge/fuga/'
path_rel  = '../foo'
path_file = '../../settings.ini'

res_a = os.path.join(path_abs, path_rel, path_file)
res_b = os.path.normpath(os.path.join(path_abs, path_rel, path_file))

print('join: {0:s}'.format(res_a))
print('normpath(join): {0:s}'.format(res_b))

実行結果

join: /home/yamamoto/hoge/fuga/../foo/../../settings.ini
normpath(join): /home/yamamoto/settings.ini