PythonでURLを正規化するライブラリ関数を探しています。つまり、パスの「./」または「../」の部分を削除したり、デフォルトのポートを追加したり、特殊文字をエスケープしたりします。結果は、同じWebページを指す2つのURLに固有の文字列になります。たとえば、http://google.comとhttp://google.com:80/a/../は同じ結果を返します。
私はPython3を好み、すでにurllibモジュールを調べました。URLを分割する機能を提供しますが、それらを正規化する機能はありません。JavaにはURI.normalize()同様のことを行う機能がありますが(デフォルトのポート80は特定のポートがないとは見なされませんが)、Pythonのようなものはありますか?