好的,所以我对命令提示符中到底发生了什么感到非常困惑。我只是想制作一个脚本,将提示窗口最小化,在浏览器中打开一个 IP 地址,然后通过 Python 运行一个简单的 HTTP 服务器命令。
我必须在命令之后运行 HTTP 服务器命令,start
因为如果我先运行 HTTP 服务器,那么下一个命令就不会运行。
我什至开始安装一些旧的自定义.exe
程序,这些程序添加了很少的功能来解决这样的问题,但它们都无法正常工作......
编辑
我实际上发现这""
是导致它无法打开链接的原因,但它会在 HTTP 服务器启动之前加载站点。所以我的新问题是:如何在http.server
命令之前运行我的start
命令而不使其不起作用(在 HTTP 服务器命令之后运行任何命令将不起作用,因为它之后的所有内容都不会执行。)
再次编辑
再次感谢 Anaksunaman 的回答,这是我的命令的最终产品:(RunHTTPServer.bat):
@echo Off
start "" /min python -m http.server 8000 -b 127.0.0.1
sleep 1
start http://127.0.0.1:8000/
我添加了 --bind 以将其绑定到 127.0.0.1,有时在使用 http.server 时,并尝试连接到 Localhost:8000,它会说连接失败...
这样,或者删除 -b/--bind 并在该起始字段中简单地写下您的个人地址。
start
您可以在两个调用中利用该命令。例如,在 Windows 中使用批处理文件:或者您可以在 Python 中使用与subprocess模块几乎完全相同的命令:
在旁注中,正如您在下面的评论中正确指出的那样,您可以
firefox
在命令中省略浏览器名称(例如),start
以便在 Windows 的默认浏览器中简单地打开网站(即start "" http://localhost:8000
,甚至只是start http://localhost:8000
)。