Sys.argv无输出

时间:2019-03-17 09:39:09

标签: python

我正在尝试使此代码与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='')

2 个答案:

答案 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]