“列表索引超出范围”使用sys.argv中当[1](“list index out of range

2019-07-20 16:44发布

我写一个简单的Python客户端和服务器工作正常通过我的代码中的服务器地址,不过,我希望用户能够输入服务器地址,如果不正确的抛出和错误。 当我有下面的代码我得到来自终端的错误消息“列表索引超出范围”。

server = (sys.argv[1])
serverAdd = (server, '65652') # server address and port number

谁能帮我这个吧。

当我在Python运行我的客户端程序,我希望能够进入一个地址连接到并存储在服务器上。 我直接通过键入programname.py在命令行中运行该程序。 该服务器已经运行侦听传入连接。

Answer 1:

有了这个的Python:

import sys

print(sys.argv)

而与此命令调用:

>python q15121717.py 127.0.0.1

我得到这样的输出:

['q15121717.py', '127.0.0.1']

我想,你是不是传递一个参数传递给你的Python脚本

现在,你可以稍微改变你的代码,使服务器以命令行形式或当没有传递提示的服务器。 在这种情况下,你会看到这样的事情:

if len(sys.argv) > 1:
    print(sys.argv[1])
else:
    print(input("Enter address:"))


文章来源: “list index out of range” when using sys.argv[1]