2

web.pyを使用して、より大きなライブラリ用のhttpインターフェイスを構築したいと思います。これは、オプションのパラメータを受け取るコマンドラインスクリプトも提供します。

単純なweb.pyチュートリアルの例をoptparseと組み合わせて試したところ、web.pyが常に最初のcmd引数をポートとして受け取るという問題がありますが、これは私が望んでいることではありません。コマンドライン引数をチェックしないようにweb-pyに指示する方法はありますか?次に例を示します。

#!/usr/bin/env python
# encoding: utf-8
"""
web_interface.py: A simple Web interface

"""

import optparse
import web

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

class hello:
    def GET(self):
        return 'Hello, world!\n'

if __name__ == "__main__":
    p = optparse.OptionParser()
    p.add_option('--test', '-t', help="the number of seed resources")
    options, arguments = p.parse_args()
    print options.test
    app.run()

...次のように実行したい:

python web_interface.py -t 10
4

1 に答える 1

1

ちょっとしたハックですが、次のことができると思います。

import sys
...

if __name__ == "__main__":
    p = optparse.OptionParser()
    p.add_option('--test', '-t', help="the number of seed resources")
    options, arguments = p.parse_args()
    print options.test

    # set sys.argv to the remaining arguments after
    # everything consumed by optparse
    sys.argv = arguments

    app.run()
于 2012-04-03T20:04:17.830 に答える