it-swarm.com.de

Python - Wie kann ich eine .py-Datei ausführen?

Ich habe rund um Google und seine Archive gesucht. Es gibt mehrere gute Artikel, aber keiner scheint mir zu helfen. Also dachte ich, ich würde herkommen, um eine genauere Antwort zu erhalten.

Das Ziel: Ich möchte diesen Code auf einer Website ausführen, um alle Bilddateien auf einmal zu erhalten. Es wird viel zeigen und klicken.

Ich habe Python 2.3.5 auf einem Windows 7 x64-Computer. Es ist in C:\Python23 installiert.

Wie bekomme ich dieses Skript sozusagen "los"?

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

WOW. 35k Ansichten. Da dies ein Top-Ergebnis bei Google ist, hier ein nützlicher Link, den ich im Laufe der Jahre gefunden habe:

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

Zum Einrichten siehe Übung 0.

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

Zu Ihrer Information: Ich habe keine Erfahrung mit Python. Jeder Rat wäre dankbar.

Wie gewünscht, hier ist der Code, den ich verwende:

"""
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 __== "__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)
19
Mr. C

Auf der Windows-Plattform haben Sie zwei Möglichkeiten:

  1. Geben Sie in einem Befehlszeilenterminal ein 

    c:\python23\python xxxx.py

  2. Öffnen Sie den Python-Editor IDLE aus dem Menü, öffnen Sie xxxx.py und drücken Sie dann F5, um ihn auszuführen.

Bei Ihrem veröffentlichten Code befindet sich der Fehler in dieser Zeile:

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

Es sollte sein:

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

Normalerweise können Sie die .py-Datei in Windows Explorer doppelt anklicken, um sie auszuführen. Wenn dies nicht funktioniert, können Sie im gleichen Verzeichnis eine Stapeldatei mit folgendem Inhalt erstellen:

C:\python23\python YOURSCRIPTNAME.py

Doppelklicken Sie dann auf diese Batchdatei. Sie können diese Zeile auch einfach in der Eingabeaufforderung ausführen, während Ihr Arbeitsverzeichnis der Speicherort Ihres Skripts ist.

4
A.Midlash

Da Sie unter Windows zu sein scheinen, können Sie dies python <filename.py> tun. Überprüfen Sie, ob sich der Python-Ordner bin in Ihrem PFAD befindet, oder Sie können c:\python23\bin\python <filename.py> ausführen. Python ist eine interpretierende Sprache. Sie benötigen daher den Interpretor, um Ihre Datei auszuführen, ähnlich wie die Java-Laufzeitumgebung, um eine JAR-Datei auszuführen.

3
Gangadhar

verwenden Sie den IDLE-Editor {Möglicherweise haben Sie ihn bereits}, er hat eine interaktive Shell für Python und zeigt Ihnen die Ausführung und das Ergebnis.

3
Junaid

Ihr Befehl sollte den Parameter url enthalten, wie in den Kommentaren zur Verwendung des Skripts angegeben. Die Hauptfunktion hat zwei Parameter, url und out (die auf einen Standardwert gesetzt sind) C:\python23\python "C:\PathToYourScript\SCRIPT.py " http://yoururl.com " C:\OptionalOutput\"

0
James