gpt4 book ai didi

python-3.x - 如何将 `directory` arg 传递给 Python 3 `http.server`?

转载 作者:行者123 更新时间:2023-12-02 03:07:30 24 4
gpt4 key购买 nike

所以这很好用-

$ python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

我可以看到 http.server 有一个目录参数 -

https://github.com/python/cpython/blob/master/Lib/http/server.py

if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
{...}
parser.add_argument('--directory', '-d', default=os.getcwd(),
help='Specify alternative directory '
'[default:current directory]')
{...}

但我找不到任何类型的语法来接受 directory 参数 -

$ python3 -m http.server -d site 8000
usage: server.py [-h] [--cgi] [--bind ADDRESS] [port]
server.py: error: argument port: invalid int value: 'site'
$ python3 -m http.server 8000 -d site
usage: server.py [-h] [--cgi] [--bind ADDRESS] [port]
server.py: error: unrecognized arguments: -d site
$ python3 -m http.server 8000 --directory site
usage: server.py [-h] [--cgi] [--bind ADDRESS] [port]
server.py: error: unrecognized arguments: --directory site

我做错了什么?

最佳答案

我怀疑你的 Python 版本有问题。这是 3.7.4 上的相同命令:

▶ python3 -m http.server -h
usage: server.py [-h] [--cgi] [--bind ADDRESS] [--directory DIRECTORY] [port]

positional arguments:
port Specify alternate port [default: 8000]

optional arguments:
-h, --help show this help message and exit
--cgi Run as CGI Server
--bind ADDRESS, -b ADDRESS
Specify alternate bind address [default: all
interfaces]
--directory DIRECTORY, -d DIRECTORY
Specify alternative directory [default:current
directory]

~
▶ python3 --version
Python 3.7.4

根据 the docsdirectory 参数仅在 3.7 版中添加:

New in version 3.7: --directory specify alternate directory

关于python-3.x - 如何将 `directory` arg 传递给 Python 3 `http.server`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58578724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com