2012-02-29 18 views
14

私はGoogleとそのアーカイブのすべてを調べました。いくつかの良い記事がありますが、誰も私を助けてくれないようです。だから私はもっと具体的な答えのためにここに来ると思った。Python - どのように.pyファイルを実行しますか?

目的:私は一度にすべての画像ファイルを取得するには、ウェブサイト上でthis codeを実行したいです。これは、多くのポインティングとクリックを節約します。

私はPython 2.3.5をWindows 7 x64マシンにインストールしました。これはC:\ Python23にインストールされています。

どうすればこのスクリプトを「行く」ようにすることができますか?

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

WOW。 35k回の再生回数。これは、Googleで上位の結果であるかのように見て、ここで私が長年にわたって見つかった便利なリンクです:セットアップのための

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

は、=========運動0

を見ます============================

FYI:私は、Pythonでのゼロ経験を持っています。アドバイスをいただければ幸いです。あなたはこのようpython <filename.py>を行うことができますウィンドウの上にあるように見えるので

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

スタート 主な機能は、(デフォルトの値に設定されている)を2つのパラメータ、URLとを C持っていますPythonチュートリアル:http://docs.python.org/tutorial/interpreter.html –

答えて

13

は、あなたは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\\"): 
+0

は、私は、最初のものを試してみました次のエラーメッセージ受信: C:\ python23の\パイソン:できないオープンファイル 'dumpImages.py' をそれから私は私のミスを実現: C:\ python23 \ "のpython dumpImages。 py " 次に、一重引用符で囲まれた文字列をスキャンしているときに、構文エラー: EOLが表示されました。 これはどういう意味ですか?ありがとう! –

+0

.pyファイルの形式が間違っているようです。あなたのコードを投稿してください。 – ciphor

+0

私はあなたのためにそれを掲示しました。 –

3

:要求されたよう

は、ここで私が使用しているコードです。 PythonのbinフォルダがPATHにあることを確認するか、c:\python23\bin\python <filename.py>を実行してください。 Pythonは解釈言語なので、jarファイルを実行するためにJavaランタイムが必要なように、ファイルを実行するためにはインタプリタが必要です。

+1

上記の例から、これはうまくいくはずですか? C:¥Python23¥bin¥python¥dumpImages.py –

+0

c:¥python23¥bin¥python dumpImages.pyになります。 Python.exeはインタプリタであり、ファイル名はdumpImages.py – Gangadhar

+0

Alrightです。私はそれを指定通りに持っています。それは実行されるようだ...しかし、それは非常に迅速に実行され、結果はありません。私はcmdプロンプトでこれをやった: set path =%path%; C:\ python23 これでcmd.exeでpythonにアクセスできるようになりました。 私が今問題と思うのは、パラメータを求めていないということです。私の言う限りでは、スクリプトは2つのパラメータをとります:私のHDDのURLと場所。私がPythonシェルを実行するたびに dumpImages(http://www.google.com/、C:\ asdf \) httpの後のセミコロンで無効な構文エラーが発生します。 –

2

通常、あなたはそれを実行するには、Windowsエクスプローラで.pyファイルをダブルクリックすることができます。これが機能しない場合は、次の内容の同じディレクトリにバッチファイルを作成できます。

C:\python23\python YOURSCRIPTNAME.py 

次に、そのバッチファイルをダブルクリックします。または、作業ディレクトリがスクリプトの場所である間に、コマンドラインでその行を実行するだけでも構いません。 Windowsプラットフォーム上で

+1

Windows上の '.py'ファイルをダブルクリックすると、それがシステムパス上にある場合にのみ実行されます。 – Edwin

3

はIDLEエディタを{あなたはすでにそれを持っているかもしれ}を使用し、それはインタラクティブありシェルを実行すると、結果と実行結果が表示されます。

0

ご使用のコマンドには、スクリプトの使用コメントに記載されているurlパラメータを含める必要があります。 \ python23のpython \ "C:\ PathToYourScript SCRIPT.py \" http://yoururl.com "C:\ OptionalOutput \" と

関連する問題