2012-02-29 10 views
14

Rozglądałem się po Google i jego archiwach. Jest kilka dobrych artykułów, ale nikt mi nie pomaga. Pomyślałem więc, że przyjdę tutaj po bardziej konkretną odpowiedź.Python - Jak uruchomić plik .py?

Cel: Chcę uruchomić this code na stronie internetowej, aby uzyskać wszystkie pliki obrazów na raz. Zaoszczędzi to dużo wskazywania i klikania.

Mam Python 2.3.5 na maszynie z systemem Windows 7 x64. Jest zainstalowany w C: \ Python23.

Skąd wziąć ten skrypt do "pójścia", że tak powiem?

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

WOW. 35 tys. Wyświetleń. Skoro, jak to jest na najwyższym wynikiem w Google, tutaj jest bardzo przydatny link znalazłem na przestrzeni lat:

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

Dla konfiguracji, patrz ćwiczenie 0.

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

FYI: Mam zerowe doświadczenie z Pythonem. Każda rada byłaby doceniona.

Zgodnie z wnioskiem, oto kod używam:

""" 
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) 
+1

Start z Python Tutorial: http://docs.python.org/tutorial/interpreter.html –

Odpowiedz

13

na platformie Windows, masz 2 możliwości:

  1. w terminalu wiersza polecenia wpisz

    c: \ python23 \ python xxxx.py

  2. Otwórz edytor IDLE python z menu i otwórz xxxx.py, a następnie naciśnij klawisz F5, aby go uruchomić.

Dla dydaktyczna kod, błąd jest na tej linii:

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

Powinno być:

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

Próbowałem pierwszy, otrzymał następujący komunikat o błędzie: C: \ python23 \ python: nie można otworzyć pliku 'dumpImages.py' Wtedy zrozumiałem swój błąd: C: \ python23 \ "dumpImages Pythonie. py " Następnie otrzymałem błąd składniowy: EOL podczas skanowania ciągów o pojedynczych cudzysłowach. Co do cholery to znaczy? Dzięki! –

+0

Wygląda na to, że plik .py ma nieprawidłowy format. Proszę zaksięguj swój kod. – ciphor

+0

Wysłałem to dla ciebie. –

3

Ponieważ wydaje się być na oknach można to tak python <filename.py> zrobienia. Sprawdź, czy folder bin Pythona znajduje się w Twojej zmiennej PATH, lub możesz wykonać c:\python23\bin\python <filename.py>. Python jest językiem interpretacyjnym, więc do uruchomienia pliku potrzebny jest interpreter, podobnie jak środowisko uruchomieniowe Java, aby uruchomić plik JAR.

+1

Tak więc, z powyższego przykładu, powinno to działać? C: \ Python23 \ bin \ python \ dumpImages.py –

+0

Będzie to c: \ python23 \ bin \ python dumpImages.py. Python.exe jest interpretatorem, a nazwa pliku to dumpImages.py – Gangadhar

+0

W porządku. Mam to określone. Wydaje się działać ... jednak działa bardzo szybko i nie daje żadnych rezultatów. Zrobiłem to w wierszu polecenia cmd: ustaw ścieżkę =% ścieżka%; C: \ python23 Więc teraz mogę uzyskać dostęp do Pythona poprzez cmd.exe. Myślę, że problem, który mam teraz, to nie jest pytanie o parametry. O ile wiem, skrypt przyjmuje dwa parametry: adres URL i lokalizację na moim dysku twardym. Ilekroć uruchamiam i poprzez powłokę python: dumpImages (http://www.google.com/, C: \ asdf \) Otrzymuję nieprawidłowy błąd składni średnik po http. –

2

Zwykle można dwukrotnie kliknąć plik .py w Eksploratorze Windows, aby go uruchomić. Jeśli to nie zadziała, możesz utworzyć plik wsadowy w tym samym katalogu z następującą treścią:

C:\python23\python YOURSCRIPTNAME.py 

Następnie kliknij dwukrotnie ten plik wsadowy. Lub możesz po prostu uruchomić tę linię w wierszu poleceń, podczas gdy katalog roboczy jest lokalizacją twojego skryptu.

+1

Dwukrotne kliknięcie pliku '.py' w systemie Windows uruchomi go tylko w ścieżce systemowej. – Edwin

3

użycie IDLE Editor {Być może już mieć} ma interaktywny powłoka dla Pythona, a pokaże ci wykonanie i wynik.

0

Twoje polecenie powinno zawierać parametr URL określony w komentarzach do użycia skryptu. Główną funkcją ma 2 parametry URL i out (który jest ustawiony na wartość domyślna) C: \ python23 \ python "C: \ PathToYourScript \ SCRIPT.py" http://yoururl.com "C: \ OptionalOutput \"