前提・実現したいこと
pythonでの画像生成について勉強していた所、次のような問題が起きました。
発生している問題・エラーメッセージ
以下のソースコードのもと、terminal で python getimages.py tomato としたところ、
エラーとなりました。このエラーが解決できなくて、一人では行き詰ってしまい、質問させていただいた次第です。
エラーメッセージ
File "getimages.py", line 18
keyword = sys.argv[1]
^
IndentationError: expected an indented block
該当のソースコード
from flickrapi import FlickrAPI from urllib.request import urlretrieve import os, time, sys from tqdm import tqdm API_KEY = "XXX" SECRET = "XXXX" PER_PAGE = 300 # ダウンロードする画像の枚数 wait_time = 1 # インターバル if len(sys.argv) < 2: print('ダウンロードする画像のキーワードが未指定です。') else: keyword = sys.argv[1] savedir = "./" + keyword if os.path.exists(savedir) == False: os.mkdir(keyword) flickr = FlickrAPI(API_KEY, SECRET, format='parsed-json') result = flickr.photos.search( text = keyword, # 画像検索用のキーワード per_page = PER_PAGE, # 取得する画像の枚数 media = 'photos', sort = 'relevance', # 「関連度が高い順」を指定 safe_search = 1, # 1=「不適切コンテンツの除外」を指定 extras = 'url_q, licence' # 追加で取得したい情報の指定 ) pbar = tqdm(range(len(result['photos']['photo']))) er = 0 for photo, i in zip(result['photos']['photo'], pbar): try: url_q = photo['url_q'] filepath = savedir + '/' + photo['id'] + '.jpg' if os.path.exists(filepath): continue urlretrieve(url_q, filepath) time.sleep(wait_time) except: er += 1 continue pbar.update() print('ダウンロード数:'+str(i+1)) if 0 < er: print('URLの情報無し:'+str(er))
Python3.6 ### 試したこと ・PycharmのPreferences>Editor>Code Style>Python>Tabs and indentから、indentを4 → 2に変更してみましたが、同じエラーが起きました。 ・ keyword = sys.argv[1]の行のインデントを、足したり引いたりしましたが、エラーは解消されませんでした。 ・TabキーあるいはSpaceキーを使って、keyword = sys.argv[1]行のインデントを入力し直しましたが、エラーは解消されませんでした。 ### 補足情報(FW/ツールのバージョンなど) ・ Keras2.24, Tensorflow1.120 ・Pycharm Pycharmの設定は、Tab size:4, indent: 4, Continuation:8となっておりました。 実はこれは日経ソフトウェアのサンプルコードの一部なのですが、それがこの書かれ方に適合していないのではないかという考えでおります。しかし、どう直せばいいのか、具体的に想像がつきません。初歩的なことでしたら大変申し訳ないのですが、教えていただけますと幸いです。どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/03 14:10 編集