11

我正在编写一个简单的 Python 客户端和服务器,它可以在我的代码中传递服务器地址正常工作,但是,我希望用户能够输入服务器地址并在其不正确时抛出错误。当我有下面的代码时,我从终端“列表索引超出范围”收到一条错误消息。

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

任何人都可以帮我解决这个问题。

当我在 python 中运行我的客户端程序时,我希望能够输入一个地址来连接并将其存储在服务器中。我通过键入 programname.py 直接从命令行运行程序。服务器已经在运行侦听传入连接。

4

1 回答 1

16

使用这个 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:"))
于 2013-02-27T20:44:31.723 回答