Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python - How do you run a .py file?

I've looked all around Google and its archives. There are several good articles, but none seem to help me out. So I thought I'd come here for a more specific answer.

The Objective: I want to run this code on a website to get all the picture files at once. It'll save a lot of pointing and clicking.

I've got Python 2.3.5 on a Windows 7 x64 machine. It's installed in C:\Python23.

How do I get this script to "go", so to speak?

=====================================

WOW. 35k views. Seeing as how this is top result on Google, here's a useful link I found over the years:

http://learnpythonthehardway.org/book/ex1.html

For setup, see exercise 0.

=====================================

FYI: I've got zero experience with Python. Any advice would be appreciated.

As requested, here's the code I'm using:

"""
dumpimages.py
Downloads all the images on the supplied URL, and saves them to the
specified output file ("/test/" by default)

Usage:
    python dumpimages.py http://example.com/ [output]
"""

from BeautifulSoup import BeautifulSoup as bs
import urlparse
from urllib2 import urlopen
from urllib import urlretrieve
import os
import sys

def main(url, out_folder="C:\asdf\"):
    """Downloads all the images at 'url' to /test/"""
    soup = bs(urlopen(url))
    parsed = list(urlparse.urlparse(url))

    for image in soup.findAll("img"):
        print "Image: %(src)s" % image
        filename = image["src"].split("/")[-1]
        parsed[2] = image["src"]
        outpath = os.path.join(out_folder, filename)
        if image["src"].lower().startswith("http"):
            urlretrieve(image["src"], outpath)
        else:
            urlretrieve(urlparse.urlunparse(parsed), outpath)

def _usage():
    print "usage: python dumpimages.py http://example.com [outpath]"

if __name__ == "__main__":
    url = sys.argv[-1]
    out_folder = "/test/"
    if not url.lower().startswith("http"):
        out_folder = sys.argv[-1]
        url = sys.argv[-2]
        if not url.lower().startswith("http"):
            _usage()
            sys.exit(-1)
    main(url, out_folder)
like image 425
Mr. C Avatar asked Feb 29 '12 03:02

Mr. C


People also ask

How do I run a py file in Python?

Type cd PythonPrograms and hit Enter. It should take you to the PythonPrograms folder. Type dir and you should see the file Hello.py. To run the program, type python Hello.py and hit Enter.

How do I run a .py file in terminal?

Open the terminal by searching for it in the dashboard or pressing Ctrl + Alt + T . Navigate the terminal to the directory where the script is located using the cd command. Type python SCRIPTNAME.py in the terminal to execute the script.

Do you need Python to run .py files?

The only realistic way to run a script on Windows without installing Python, is to use py2exe to package it into an executable. Py2exe in turn examines your script, and embeds the proper modules and a python interpreter to run it.


4 Answers

On windows platform, you have 2 choices:

  1. In a command line terminal, type

    c:\python23\python xxxx.py

  2. Open the python editor IDLE from the menu, and open xxxx.py, then press F5 to run it.

For your posted code, the error is at this line:

def main(url, out_folder="C:\asdf\"): 

It should be:

def main(url, out_folder="C:\\asdf\\"): 
like image 170
ciphor Avatar answered Sep 18 '22 19:09

ciphor


Usually you can double click the .py file in Windows explorer to run it. If this doesn't work, you can create a batch file in the same directory with the following contents:

C:\python23\python YOURSCRIPTNAME.py 

Then double click that batch file. Or, you can simply run that line in the command prompt while your working directory is the location of your script.

like image 22
A.Midlash Avatar answered Sep 19 '22 19:09

A.Midlash


Since you seem to be on windows you can do this so python <filename.py>. Check that python's bin folder is in your PATH, or you can do c:\python23\bin\python <filename.py>. Python is an interpretive language and so you need the interpretor to run your file, much like you need java runtime to run a jar file.

like image 42
Gangadhar Avatar answered Sep 18 '22 19:09

Gangadhar


use IDLE Editor {You may already have it} it has interactive shell for python and it will show you execution and result.

like image 41
Junaid Avatar answered Sep 19 '22 19:09

Junaid