为什么需要验证 'if not set(sys.argv)'?
Why would the validation 'if not set(sys.argv)' be needed?
我正在尝试了解下一次验证的第一部分。我可以安全地假设表达式 'if not set(sys.argv)' 始终为 False 吗?代码来自Ironic Project.
if not set(sys.argv) & valid_commands:
根据 docs,如果命令 运行 带有 '-c' 选项,argv[0] 设置为字符串 '-c'。这仍然是一个非空集。示例:
python -c '
import sys
print(sys.argv[0])
if not set(sys.argv):
print("empty")
else:
print("non-empty")
'
你读错了。 Python 的 not
的优先级非常低,低于 &
的优先级(这不是逻辑与)。
if not set(sys.argv) & valid_commands:
应该读作
if not (set(sys.argv) & valid_commands):
正在测试 sys.argv
是否包含集合 valid_commands
的任何元素。
这里没有"first part"。
if not set(sys.argv) & valid_commands:
等同于
if not (set(sys.argv) & valid_commands):
我正在尝试了解下一次验证的第一部分。我可以安全地假设表达式 'if not set(sys.argv)' 始终为 False 吗?代码来自Ironic Project.
if not set(sys.argv) & valid_commands:
根据 docs,如果命令 运行 带有 '-c' 选项,argv[0] 设置为字符串 '-c'。这仍然是一个非空集。示例:
python -c '
import sys
print(sys.argv[0])
if not set(sys.argv):
print("empty")
else:
print("non-empty")
'
你读错了。 Python 的 not
的优先级非常低,低于 &
的优先级(这不是逻辑与)。
if not set(sys.argv) & valid_commands:
应该读作
if not (set(sys.argv) & valid_commands):
正在测试 sys.argv
是否包含集合 valid_commands
的任何元素。
这里没有"first part"。
if not set(sys.argv) & valid_commands:
等同于
if not (set(sys.argv) & valid_commands):