Python - Как запустить файл .py?
Я посмотрел вокруг Google и его архивы. Есть несколько хороших статей, но никто, кажется, не помогает мне. Поэтому я подумал, что приеду сюда для более конкретного ответа.
Цель: я хочу запустить этот код на веб-сайте, чтобы сразу получить все файлы изображений. Это сэкономит много указаний и щелчков.
У меня есть Python 2.3.5 на компьютере с Windows 7 x64. Он установлен в C:\Python23.
Как мне заставить этот script "идти", так сказать?
=====================================
WOW. 35 тыс. просмотров. Видя, как это лучший результат в Google, вот полезная ссылка, которую я нашел за эти годы:
http://learnpythonthehardway.org/book/ex1.html
Для настройки см. упражнение 0.
=====================================
FYI: У меня есть нулевой опыт работы с 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 __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
На платформе Windows у вас есть 2 варианта:
-
В терминале командной строки введите
c:\python23\python xxxx.py
-
Откройте в IDLE python editor IDLE и откройте xxxx.py, затем нажмите F5, чтобы запустить его.
Для вашего опубликованного кода ошибка в этой строке:
def main(url, out_folder="C:\asdf\"):
Это должно быть:
def main(url, out_folder="C:\\asdf\\"):
Ответ 2
Поскольку вы, кажется, находитесь в окнах, вы можете сделать это так python <filename.py>
. Убедитесь, что папка bin python находится в вашем PATH, или вы можете сделать c:\python23\bin\python <filename.py>
. Python - интерпретирующий язык, поэтому вам нужен интерпретатор для запуска вашего файла, так же, как вам нужно java runtime для запуска файла jar.
Ответ 3
используйте редактор IDLE. Возможно, у вас уже есть он. У него есть интерактивная оболочка для python, и она покажет вам выполнение и результат.
Ответ 4
Обычно вы можете дважды щелкнуть файл .py
в проводнике Windows, чтобы запустить его. Если это не сработает, вы можете создать командный файл в том же каталоге со следующим содержимым:
C:\python23\python YOURSCRIPTNAME.py
Затем дважды щелкните этот командный файл. Или вы можете просто запустить эту строку в командной строке, в то время как ваш рабочий каталог - это местоположение вашего script.
Ответ 5
Ваша команда должна включать параметр url, как указано в комментариях использования script.
Основная функция имеет 2 параметра, url и out (который установлен на значение по умолчанию)
C:\python23\python "C:\PathToYourScript\ SCRIPT.py" http://yoururl.com "C:\OptionalOutput\"