zoukankan      html  css  js  c++  java
  • python:一秒中启动一个下载服务器

    一、背景

    在实际工作中,时不时会有这样的一个需求:将文件传给其他同事。将文件传给同事本身并不是一个很繁琐的工作,现在的聊天工具一般都支持文件传输。但是,如果需要传送的文件较多,那么,操作起来就会比较麻烦。此外,如果文件在远程的服务器上,你要将文件传给同事,则需要先将远程服务器的文件下载到本地,然后再通过聊天工具传给同事。再或者,你并不是特别清楚要传哪几个文件给同事,所以,你们需要进行来回的交流。交流的时间成本是比较高的,会降低办事效率。此时,你们需要更加高效的方法。

    二、实现

    这个时候,如果你知道Python内置了一个下载服务器就能够显著提升效率了。例如,你的同事要让你传的文件位于某一个目录下,那么,你可以进入这个目录,然后执行下面的命令启动一个下载服务器:
    python -m SimpleHTTPServer

    在Python 3中,由于对系统库进行了重新整理,因此,使用方式会有不同:

    python3 -m http.server
    执行上面的命令就会在当前目录下启动一个文件下载服务器,默认打开8000端口。这个时候,你只需要将IP和端口告诉同事,让同事自己去操作即可,非常的方便高效。

    三、演示

    在root目录下启动一个下载服务器
    [root@localhost ~]# python3 -m http.server
    Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

    使用浏览器访问Python启动的下载服务器,可以看到一个类似于FTP下载的界面。这个时候,点击文件下载即可,降低了大家的沟通成本。

    从工作原理角度来说,执行上面的命令,只是启动了一个Python内置的web服务器。如果当前目录下存在一个名为index.html的文件,则默认会显示该文件的内容;如果当前目录下不存在这样一个文件,则默认显示当前目录下的文件列表,也就是大家看到的下载服务器。

    浏览器页面展示:

  • 相关阅读:
    JAVA中SESSION和COOKIE的解释
    关于org.apache.catalina.session.StandardManager doLoad错误的解决
    MySQL 修改字段类型或长度
    JS倒计时 定时器
    设置tomcat内存
    Unable to resolve JRE: jdk1.6.0_01 (Standard VM)
    Error configuring application listener of class org.springframework.web.context.ContextLoader
    nested exception is java.lang.OutOfMemoryError: PermGen space
    导数据,整理数据思路总结
    mysql_mssql_access_2017年最新手机号段归属地数据库(17年4月更新)360569记录
  • 原文地址:https://www.cnblogs.com/zhangjunkang/p/10265176.html
Copyright © 2011-2022 走看看