web-dev-qa-db-ja.com

シンプルなpython Webサービスを作成する最良の方法

私はpythonを何年も使用していますが、python Webプログラミングの経験はほとんどありません。社内で使用する既存のpythonスクリプトからいくつかの機能を公開する非常にシンプルなWebサービスを作成したいと思います。結果をcsvで返す可能性があります。何かを起こす最も速い方法は何ですか?それがあなたの提案に影響するなら、私はこれからもっと機能を追加するでしょう。

135
Jeremy Cantrell

werkzeug をご覧ください。 Werkzeugは、WSGIアプリケーション用のさまざまなユーティリティの単純なコレクションとして始まり、最も高度なWSGIユーティリティモジュールの1つになりました。強力なデバッガー、フル機能のリクエストおよびレスポンスオブジェクト、エンティティタグを処理するHTTPユーティリティ、キャッシュコントロールヘッダー、HTTP日付、Cookie処理、ファイルのアップロード、強力なURLルーティングシステム、コミュニティが提供する多数のアドオンモジュールが含まれます。

Httpで動作する多くのクールなツールが含まれており、異なる環境のwsgi(cgi、fcgi、Apache/mod_wsgi、またはデバッグ用の単純なpythonサーバー)で使用できるという利点があります。

55
Peter Hoffmann

web.py は、おそらく最も単純なWebフレームワークです。 「Bare」CGIはよりシンプルですが、実際に何かを行うサービスを作成することになると、完全に自分でやることができます。

"こんにちは世界!" web.pyによると、裸のCGIバージョンよりも長くはありませんが、URLマッピング、HTTPコマンドの区別、クエリパラメータの解析を無料で追加します

import web

urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'world'
        return 'Hello, ' + name + '!'

if __== "__main__":
    app.run()
26
Tim Lesher

Pythonスクリプトをオンラインで取得する最も簡単な方法は、CGIを使用することです。

#!/usr/bin/python

print "Content-type: text/html"
print

print "<p>Hello world.</p>"

WebサーバーのCGIディレクトリにあるスクリプトにそのコードを入れ、実行可能にし、実行します。 cgiモジュールには、ユーザーからパラメーターを受け入れる必要がある場合に役立つ多くのユーティリティがあります。

15
Greg Hewgill

生のCGIは一種の苦痛であり、Djangoは一種のヘビーウェイトです。いくつかのよりシンプルで軽いフレームワークがあります。 CherryPy 。少し調べてみる価値があります。

12
Charlie Martin

WSGIリファレンス実装 を見てください。既にPythonライブラリにあります。とても簡単です。

9
S.Lott

「Webサービス」を使用する場合、他のプログラムからアクセスされるもの SimpleXMLRPCServer が適切かもしれません。バージョン2.2以降のすべてのPythonインストールに含まれています。

人間がアクセスできるシンプルなものの場合、私は通常、Python SimpleHTTPServer を使用します。これもすべてのインストールに付属しています。もちろん、クライアントプログラムからSimpleHTTPServerにアクセスすることもできます。

4
max

優れたWebフレームワークがあれば、人生は簡単です。 Django のWebサービスは簡単です。モデルを定義し、CSVドキュメントを返すビュー関数を作成します。テンプレートをスキップします。

2
S.Lott

SOAP/WSDLの意味で「Webサービス」を意味する場合、 PythonおよびSOAPpyを使用したWSDLの生成

2
che
1
mabbit