我正在尝试使此代码与sys.argv一起使用,但未显示 输出上的任何内容。用户输入一个值,然后打印密钥。
from __future__ import print_function
import sys
v = sys.argv[1:]
d={1:'a', 2:'b', 3:'c', 4:'a', 5:'d', 6:'e', 7:'a', 8:'b'}
for key, value in d.items():
if value == v:
print(key, '', end='')
答案 0 :(得分:1)
您遇到type
问题
v = sys.argv[1:] # v is a list here, even if its a single item or empty
d
中的值不是列表,因此不匹配
如果您更改此行:
if value == v:
进入:
if value in v:
它将起作用。它的作用是检查您的值是否包含在列表中
答案 1 :(得分:0)
v = sys.argv[1:]
将v
设置为所有命令行参数的列表。如果只需要第一个参数,则应为:
v = sys.argv[1]