2012-01-04 10 views
0

自分のプロジェクトにnosetestsを実行しています.Glolの通知用に--with-snortと実行しています。呼び出されたスクリプトに引数を渡す

問題は私がパス上に置いたいくつかのlibファイルを持っているので、bin/pythonにカスタムのPythonスクリプトがあることです。

私はbin/pythonwhich nosetestsを実行し、その実行可能ファイル - bin/python /usr/local/bin/nosetestsを実行しても問題はありません。しかし今、どのようにフラグをnosetestsに渡すのですか?どのフラグも代わりにbin/pythonに送られます。

+0

試したコマンドの例を教えてもらえますか? 'nosetests'自体が'#!/ usr/bin/python'を使ってPythonで書かれていることを明確にするために質問を変更し、あなたがしようとしていることの詳細を与えるべきです。独自の '#!' Pythonラッパーを使ってPythonにargsを渡したいのですが、nosetest自体に引数を渡したいと思っていますか? –

答えて

3

フラグがbin/pythonになると思いますか?あなたはこれをテストしましたか?私はこれをテストするための簡単なプログラムを書く場合:

import sys 
print sys.argv[1:] 

を私はこれらの例コール(私はtest.pyというファイルにこれを保存していると仮定)

python test.pyプリント[]

から、次の出力に含まを取得します

python test.py 5プリント次いで['5']

python -i test.py 5プリント['5'](及びためのインタプリタへ制御を渡します。フラグ)。

だから、スクリプト名は、Pythonに渡される前にフラグ、スクリプト名はスクリプトに渡され後のフラグ。だからあなたの例では、ちょうどこののいくつかは、PythonのドキュメントでInvoking the Interpreterにconveredさ

bin/python /usr/local/bin/nosetests --with-snort 

を使用しています。

+0

うん...問題は、 'subprocess.check_output'が' which nosetests'チェックの最後に '\ n'を追加していたことです。これにより、フラグが新しい行に移動し、新しいコマンドとして扱われました。同じことがルビーのバックティックで起こります。ちょうど 'rstrip'をしなければならなかった。 –

関連する問題