私のpythonスクリプトはdlimage
と呼ばれています。私はif文とforループを組み合わせたい。端末では、python dlimage 1 2 3
と入力すると、1つの画像しかダウンロードされません。それ以外の場合、num3の変数が空で、python dlimage 1 2
と入力すると、forループfor num3 in range(01,50):
を使用して50個の画像をダウンロードします。作成方法空文字変数のIf文とforループの処理
私はpython dlimage 1 2
を実行エラー:NUM3がパーサと、以下のURLに既にあるので、
Traceback (most recent call last):
File "dlimage.py", line 4, in <module>
if not num3:
NameError: name 'num3' is undefined
がどのように私は、それを定義していますか?また、私のコードが正しいことは完全にはわかりません。ここで何が問題なの?
マイコード:
import urllib
import argparse
if not num3:
for num3 in range(01,50):
def download_web_image(url):
IMAGE = url.rsplit('/',1)[1]
urllib.urlretrieve(url, IMAGE)
parser = argparse.ArgumentParser()
parser.add_argument("num1")
parser.add_argument("num2")
parser.add_argument("num3")
args = parser.parse_args()
download_web_image("https://www.example.com/{num1}/{num2}/{num3}.jpg".format(num1=args.num1, num2=args.num2, num3=args.num3))
else:
def download_web_image(url):
IMAGE = url.rsplit('/',1)[1]
urllib.urlretrieve(url, IMAGE)
parser = argparse.ArgumentParser()
parser.add_argument("num1")
parser.add_argument("num2")
parser.add_argument("num3")
args = parser.parse_args()
download_web_image("https://www.example.com/{num1}/{num2}/{num3}.jpg".format(num1=args.num1, num2=args.num2, num3=args.num3))
UPDATE:それは今働いています。あなたのすべての協力に感謝します。
このプログラムで実行される最初の行は 'not num3'です。 'num3'はこの時点では定義されていません。したがって、エラー。私は本当にあなたがここで何を期待しているか分からない。 – deceze
デフォルト値は何か、おそらく 'None'と設定されていますか? –
あなたのパーサブロック 'parser = argparse.ArgumentParser()'は 'args = parser.parse_args()'が 'not num3:'を呼び出す前になければなりません。そして、私はnum3の代わりに 'そうでなければargs.num3'。それじゃない? –