如何把这段命令改成代码

加盾男爵 2019-08-28 03:04:22
现在需要在本地一个目录下开启一个http file server服务
网上查询的所有结果只有一个,就是命令行
python -m http.server 8000

但我始终找不到如何用代码实现这个功能,于是我只能用

os.system("cd E:/pix")
os.system("python -m http.server 8000")

然后出现了问题,程序运行时提示
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

但问题是我发现程序一直停留在

os.system("python -m http.server 8000")

这一行,下面的代码不执行了。。。

所以我想问下,如何用代码实现这个功能?


PS:我在网上搜如何实现在本地开启http file 服务时,所有人的答案都是用这个命令去实现,找不到代码
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nieoding 2019-08-30
  • 打赏
  • 举报
回复
引用 5 楼 加盾男爵 的回复:
[quote=引用 4 楼 nieoding 的回复:]

import http.server
import socketserver

PORT = 8000

Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()
File "F:/PyQtObject/PrintMac", line 115, in __init__ with socketserver.TCPServer(("", PORT), Handler) as httpd: File "D:\python\lib\socketserver.py", line 449, in __init__ self.server_bind() File "D:\python\lib\socketserver.py", line 463, in server_bind self.socket.bind(self.server_address) OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 [/quote] 8000被占用,换一个
加盾男爵 2019-08-29
  • 打赏
  • 举报
回复
引用 4 楼 nieoding 的回复:

import http.server
import socketserver

PORT = 8000

Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()
File "F:/PyQtObject/PrintMac", line 115, in __init__ with socketserver.TCPServer(("", PORT), Handler) as httpd: File "D:\python\lib\socketserver.py", line 449, in __init__ self.server_bind() File "D:\python\lib\socketserver.py", line 463, in server_bind self.socket.bind(self.server_address) OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
nieoding 2019-08-29
  • 打赏
  • 举报
回复

import http.server
import socketserver

PORT = 8000

Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()
罗卜基斯 2019-08-29
  • 打赏
  • 举报
回复
把这句写在第一行,然后在运行script.py时,按顺序传递参数 server_type, port = sys.argv 在代码中就可以调用server_type, port变量 >>>python server_type, port python -m http.server 8000
加盾男爵 2019-08-29
  • 打赏
  • 举报
回复
引用 1 楼 罗卜基斯 的回复:
mode, server_type, port = sys.argv
罗卜基斯 2019-08-28
  • 打赏
  • 举报
回复
mode, server_type, port = sys.argv

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧