python-modules、Django、Zope、またはPythonのどこでもjava.net.URLのようなものを探しています。関係するプログラムの分析結果は、URLがその中で重要な役割を果たしていることを示唆しているので、セマンティクスの理由からそれが望ましいです。その結果、そのようなURLクラスもそのプログラムで非常に実用的になります。
もちろん、自分でそのようなクラスを書くこともできますが、車輪の再発明を始める前に、周りを見回したいと思います。
私はurllib2とurlparseを見ました。基本的に私が必要とする機能を持っていますが、それをのurlparse
ようなクラスにカプセル化することはありませんjava.net.URL
。私のプログラムの分析に関しては、逆さまに機能します。
urlparse
クラスSplitResult
とのソースコードも調べましたParseResult
。それらにはいくつかの基本的な機能があり、サブクラス化に使用できます。ただし、残りのurlparse関数をサブクラスメソッドとして書き直す必要があります。
mxURL-Python用の柔軟なURLデータ型も見つかりました。それは私が本当に欲しいものに非常に近いです。それだけが私の目的にはかなりやり過ぎのようです。
誰かが別のオプションを提案できますか?車輪の再発明を続行する必要がありますか?
私の解決策:
URLクラスを取得するために、基本的に2つのことを行いました。
- から継承し
urlparse.ResultMixin
ます。 urlparse.urlparse()
結果を呼び出してURLインスタンスのパラメータに変換するだけの関数を定義します。