Serve a Directory via Python

By  on  

Sometimes I'm working with a test HTML file and some JavaScript but need to work off of a served space.  In that case, I sometimes need to swap out folders within MAMP Stack which leads to a maintenance nightmare.  Bleh.

I recently found out that you can serve up a directory using one Python command line directive:

# Serves the current directory at:  http://0.0.0.0:8000/
python -m SimpleHTTPServer

Excellent.  No more directory and MAMP Stack juggling.  Even better is that the command is easy to memorize so no need to constantly look it up.  Keep this in mind when you want to work on something without a big server install!

Recent Features

  • By
    6 Things You Didn’t Know About Firefox OS

    Firefox OS is all over the tech news and for good reason:  Mozilla's finally given web developers the platform that they need to create apps the way they've been creating them for years -- with CSS, HTML, and JavaScript.  Firefox OS has been rapidly improving...

  • By
    Camera and Video Control with HTML5

    Client-side APIs on mobile and desktop devices are quickly providing the same APIs.  Of course our mobile devices got access to some of these APIs first, but those APIs are slowly making their way to the desktop.  One of those APIs is the getUserMedia API...

Incredible Demos

  • By
    CSS calc

    CSS is a complete conundrum; we all appreciate CSS because of its simplicity but always yearn for the language to do just a bit more. CSS has evolved to accommodate placeholders, animations, and even click events. One problem we always thought...

  • By
    MooTools PulseFade Plugin

    I was recently driven to create a MooTools plugin that would take an element and fade it to a min from a max for a given number of times. Here's the result of my Moo-foolery. The MooTools JavaScript Options of the class include: min: (defaults to .5) the...

Discussion

  1. Hristo Chakarov

    https://www.npmjs.com/package/http-server

    http-server

    That’s even easier.

    • Python comes preinstalled on number of OS’s though.

      Python 3 has a different syntax too.

      I think it’s

      python -m http.server
  2. Except this only works under Python 2. The Python 3 command is slightly different.

    python -m http.server
  3. Ever seen Fenix Web Server? I’m totally bias (I’m the author), but I think it works well :-) Has a GUI and a CLI, persistent servers, and an SSH tunneling tool for securely and temporarily sharing with others.

  4. You can also do this very easily with php:

    cd ~/somewhere
    php -S localhost:8888

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!