0

私は、「 Ruby で本当に安価なコマンドライン オプションの解析」の回答を多用しています。それは素晴らしく、私の目的のために、常に私が必要とするものです.

やりたいことが内部ライブラリでサポートされているため、Python の世界に戻ってきました。Rubyに移植することを検討していますが、それはこの質問の範囲を超えていますが、同様のものを使用したいと思います.

以下は、私が Ruby でよく使用する非常に安価な方法です。

$quiet       = ARGV.delete('-d')
$interactive = ARGV.delete('-i')

配列にa"-d"がある場合、 nil ではなく nilに設定されます。がない場合はになります。ARGV$quiet"-d""-d"$quietnil

Pythonでできることと同様のことはありますか?

4

5 に答える 5

6

使用したい場合がありますsys.argv

from sys import argv
quiet = '-d' in argv # True if '-d' in argv else False

'-d'から削除する場合はargv、2 行目を次のように変更します。

quiet = '-d' in argv and (argv.remove('-d') or True)

これにより安さが低下する場合は、関数を作成しましょう。

getArg = lambda x: x in argv and (argv.remove(x) or True)
quiet = getArg('-d')
interactive = getArg('-i')
于 2013-07-19T20:23:25.857 に答える
1

これを試して:

import sys

quiet = 1 if "-d" in sys.argv else None
于 2013-07-19T20:23:16.937 に答える