J'essaie de comprendre la première partie de la prochaine validation. Puis-je supposer que l'expression 'if not set (sys.argv)' est toujours False? Le code provient du Ironic Project.Pourquoi la validation 'if not set (sys.argv)' serait-elle nécessaire?
if not set(sys.argv) & valid_commands:
Selon le docs, si la commande est exécutée avec l'option '-c', argv [0] est réglé sur la chaîne '-c'. Ce qui est encore un ensemble non-vide. Exemple:
python -c '
import sys
print(sys.argv[0])
if not set(sys.argv):
print("empty")
else:
print("non-empty")
'
Non, vous ne pouvez pas supposer sans risque que l'expression 'si pas défini (sys.argv)' est toujours faux. Votre programme a peut-être déjà effacé 'sys.argv'. –
'sys.argv' peut également être vide si vous appelez votre script en utilisant l'API C Python. –