Python Http服务器代码说明?

2024-04-19 21:23:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我在互联网上看到了许多用python编写的http服务器的例子,它们都包括

if sys.argv[1:]:
    port = int(sys.argv[1])
else:
    port = 8000

有人能给我解释一下这句话吗?谢谢


Tags: 服务器httpifportsys互联网else例子
3条回答

很可能,这段代码正在设置用于与发出请求的任何计算机进行通信的post。8000是默认的TCP端口,因此如果未指定端口,它将使用该端口。你知道吗

^{}是字符串列表,其中包含从命令行传入Python脚本的参数。sys.argv[0]是脚本的名称,它总是隐式传入。用户传入的参数将存储在sys.argv[1]sys.argv[2]等中

有鉴于此,代码可以解释如下:

# If there is more than 1 item in sys.argv...
if sys.argv[1:]:
    # ...get sys.argv[1], convert it into an integer, and assign it to port
    port = int(sys.argv[1])
# Otherwise, assign port to 8000
else:
    port = 8000
  1. sys.argv是一个包含命令行参数的列表:如果您像这样启动程序:./foo one two 3,列表将包含值['./foo', 'one', 'two', '3']
  2. mylist[a:]是列表mylist的一部分,从索引a到最后一个元素
  3. if list如果列表不是空的,则为真
  4. 总而言之:port如果未指定为第一个命令行参数,则设置为8000

相关问题 更多 >