it-roy-ru.com

Python - Как вы запускаете .py файл?

Я посмотрел вокруг Google и его архивов. Есть несколько хороших статей, но ни одна из них мне не помогла. Поэтому я подумал, что приду сюда за более конкретным ответом.

Цель: я хочу запустить этот код на веб-сайте, чтобы получить все файлы изображений одновременно. Это сэкономит много указаний и нажатий.

У меня есть Python 2.3.5 на компьютере с Windows 7 x64. Он установлен в C:\Python23.

Как мне заставить этот скрипт «идти», так сказать?

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

ВОТ ЭТО ДА. 35 тысяч просмотров. Видя, как это лучший результат в Google, вот полезная ссылка, которую я нашел за эти годы:

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

Для настройки см. Упражнение 0.

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

К вашему сведению: у меня нулевой опыт работы с Python. Любой совет будет принят во внимание.

По запросу, вот код, который я использую:

"""
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

На платформе Windows у вас есть 2 варианта:

  1. В терминале командной строки введите 

    c:\python23\python xxxx.py

  2. Откройте редактор Python IDLE из меню и откройте xxxx.py, затем нажмите F5, чтобы запустить его.

Для вашего размещенного кода ошибка находится в этой строке:

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

Так должно быть:

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

Обычно вы можете дважды щелкнуть файл .py в проводнике Windows, чтобы запустить его. Если это не работает, вы можете создать пакетный файл в том же каталоге со следующим содержимым:

C:\python23\python YOURSCRIPTNAME.py

Затем дважды щелкните этот пакетный файл. Или вы можете просто запустить эту строку в командной строке, пока ваш рабочий каталог является местоположением вашего скрипта.

4
A.Midlash

Поскольку вы, кажется, находитесь на окнах, вы можете сделать это так python <filename.py>. Убедитесь, что папка bin Python находится в вашем PATH, или вы можете сделать c:\python23\bin\python <filename.py>. Python является интерпретирующим языком, поэтому вам нужен интерпретатор для запуска вашего файла, так же, как вам нужна среда выполнения Java для запуска файла JAR.

3
Gangadhar

используйте редактор IDLE {у вас, возможно, уже есть}, у него есть интерактивная оболочка для python, и он покажет вам выполнение и результат.

3
Junaid

Ваша команда должна включать параметр url, как указано в комментариях к использованию скрипта Основная функция имеет 2 параметра, url и out (значение по умолчанию). PathToYourScript\SCRIPT.py " http://yoururl.com " C:\OptionalOutput\"

0
James