私は次の検証の最初の部分を理解しようとしています。 'もし設定されていなければ(sys.argv)'という表現が常にFalseであると私は安全に仮定できますか?コードはIronic Projectです。 docsによると検証が '設定されていない場合(sys.argv)'が必要なのはなぜですか?
if not set(sys.argv) & valid_commands:
、コマンドが '-c' オプションで実行されている場合は、argvは、[0] '-c' という文字列に設定されています。まだ空ではないセットです。例:
python -c '
import sys
print(sys.argv[0])
if not set(sys.argv):
print("empty")
else:
print("non-empty")
'
と同等ですいいえ、あなたは安全に(sys.argvのを)設定されていない場合は式は、 ''常に偽であると仮定することはできません。あなたのプログラムは以前に 'sys.argv'をクリアしている可能性があります。 –
Python C APIを使ってスクリプトを呼び出すと 'sys.argv'も空になることがあります。 –