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
    Facebook Open Graph META Tags

    It's no secret that Facebook has become a major traffic driver for all types of websites.  Nowadays even large corporations steer consumers toward their Facebook pages instead of the corporate websites directly.  And of course there are Facebook "Like" and "Recommend" widgets on every website.  One...

  • By
    Responsive and Infinitely Scalable JS Animations

    Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...

Incredible Demos

  • By
    JavaScript Canvas Image Conversion

    At last week's Mozilla WebDev Offsite, we all spent half of the last day hacking on our future Mozilla Marketplace app. One mobile app that recently got a lot of attention was Instagram, which sold to Facebook for the bat shit crazy price of one...

  • By
    Create a Quick MooTools Slideshow with Preloading Images

    I've been creating a lot of slideshow posts lately. Why, you ask? Because they help me get chicks. A quick formula for you: The following code snippet will show you how to create a simple slideshow with MooTools; the script will also...

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!