WebDAVサーバーにファイルをアップロードして操作する機能をアプリケーションに実装したいと思います。os.*
リモートファイルを操作するためのモジュールと同様のインターフェイスを提供する成熟したPythonライブラリを探しています。グーグルはPythonでのWebDAVのオプションのほんの一部を明らかにしましたが、最近広く使用されているものを知りたいです。
7 に答える
確かに複数の人が興味を持っているこの質問(「どのPython webdavライブラリを使用しますか?」)に対して、無関係な回答が受け入れられた(「Pythonwebdavライブラリを使用しない」)のは悲しいことです。さて、Stackexchangeの一般的な問題。
実際の答えを探していて、元の質問の要件(「os」モジュールに似た単純なAPI)を考えると、非常に簡単なAPIと、アップロード/ダウンロードを提供する非常に簡単な実装を備えたeasywebdavをお勧めします。そしていくつかのファイル/ディレクトリ管理方法。実装が簡単なため、これまでのところディレクトリリストはサポートされていませんが、そのためのバグが報告されており、作成者はそれを追加する予定です。
同様のニーズがあり、いくつかの Python WebDAV クライアントを自分のニーズに合わせてテストすることになりました (WebDAV サーバーからのファイルのアップロードとダウンロード)。これが私の経験の要約です:
1)私のために働いたのはpython-webdav-libです。
多くのドキュメントはありませんが、コード (特に例) をざっと見るだけで、それを機能させる方法を理解するのに十分でした。
2) PyDAV 0.21 (私が見つけた最新のリリース) は、文字列を例外として使用するため、Python 2.6 では動作しません。後でさらに非互換性が生じることを期待して、これを修正しようとはしませんでした。
3) davclient 0.2.0 . 私はそれを見ましたが、ドキュメントには私が探していた API のレベル (ファイルのアップロードとダウンロード) が記載されていなかったため、これ以上調査しませんでした。
4) Python_WebDAV_Library-0.3.0 . アップロード機能はないようです。
WebDAV クライアント ライブラリを探しているようです。
膨大な数のヒットがどのように発生したかはわかりませんが、次の 2 つが関連しているようです。
- PyDAV: http://users.sfo.com/~jdavis/Software/PyDAV/readme.html#client
- Zope - client.py を探す
私はこれらのライブラリを使用した経験はありませんが、Python Package Index (「PyPi」)にはかなりの数の webdav モジュールがリストされています。
具体的にはわかりませんが、プラットフォームによっては、ファイル システムを介して WebDAV で提供されるファイルをマウントしてアクセスする方が簡単な場合があります。そこにはdavfs2があり、Mac OS Xなどの一部のOSにはWebDAVファイルシステムサポートが組み込まれています.