Как пропустить действие не используя try except?
Как мне избежать ошибку и прогнать следующее значение в цикле? Когда в img_list нет файла срабатывает try except и переходит к следующему действию, заполняется text, но так как у меня нечего вкладывать в параметр photo выскакивает ошибка, если в параметре photo нет файлов ,мне как то нужно пропустить действие с url
for pi in img_list:
try:
url = 'https://api.vk.com/method/photos.getWallUploadServer?group_id=%d&v=5.131&access_token=%s' % (
group_id, vk_key)
resp = requests.get(url).json()['response']
upload_url = resp['upload_url']
files = {'file1': open(pi, 'rb')}
except Exception:
print(f"Что пошло не так с постом id {post_id}")
url = 'https://api.vk.com/method/wall.post?owner_id=%s&from_group=1&message=%s&attachments=%s&v=5.131&access_token=%s' % \
(-group_id, text, photo, vk_key)
resp = requests.get(url).json()
print(resp)
Ответы (1 шт):
Автор решения: Roman-Stop RU aggression in UA
→ Ссылка
Перед циклом установите переменную в None, а после цикла проверяйте удалось ли в цикле ее значение установить:
photo = None
for pi in img_list:
try:
url = 'https://api.vk.com/method/photos.getWallUploadServer?group_id=%d&v=5.131&access_token=%s' % (
group_id, vk_key)
resp = requests.get(url).json()['response']
upload_url = resp['upload_url']
files = {'file1': open(pi, 'rb')}
photo = ...
except Exception:
print(f"Что пошло не так с постом id {post_id}")
if photo:
url = 'https://api.vk.com/method/wall.post?owner_id=%s&from_group=1&message=%s&attachments=%s&v=5.131&access_token=%s' % \
(-group_id, text, photo, vk_key)
resp = requests.get(url).json()
print(resp)