web-dev-qa-db-ja.com

python sudsを使用してファイルシステムからwsdlファイルを読み取ることはできますか?

Suds documentation から、WSDLのURLがあればClientを作成できます。

from suds.client import Client
url = 'http://localhost:7080/webservices/WebServiceTestBean?wsdl'
client = Client(url)

現在、ファイルシステムにWSDLファイルがあります。 Webサーバーでホストする代わりに、sudを使用してファイルシステムからWSDLファイルを読み取ることはできますか?

39
Thierry Lam

url='file:///path/to/file'

56
Gabi Purcaru

一発ギャグ

# Python 3
import urllib, os 
url = urllib.parse.urljoin('file:', urllib.request.pathname2url(os.path.abspath("service.xml")))

これは、次のようなより完全な1つのライナーです。

  • ローカルパスのみを指定できます。
  • 絶対パスを取得し、
  • そして、それをfile-urlとしてフォーマットします。

に基づく:

参考のためにオリジナル

# Python 2 (Legacy Python)
import urlparse, urllib, os

url = urlparse.urljoin('file:', urllib.pathname2url(os.path.abspath("service.xml")))
16
Josh Peak