Задать вопрос
@mirindanda

TypeError: 'str' object is not callable. Как это исправить?

Пишу программу которая должна забирать фотографию с сайта и сохранять на компьютер. Все работает по отдельности, но не вместе, как исправить эту ошибку?
import json
import urllib.request
import random
from datetime import date, timedelta
import os
import shutil
import requests
os.system('cls')

last_date = (date.today())  
# yesterday = print(date.today() + timedelta(days=-1))
# fist_date = date(1995, 6, 16)



link_today = "https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=" + str(last_date)
# link_yesterday = "https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=" + str(yesterday)
# link_random = "https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=" + str()

open_link = urllib.request.urlopen(link_today)

data = open_link.read()

data.decode('utf-8')
data = eval(data)

with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

with open('data.json', 'r', encoding='utf-8') as s:
    text = json.load(s)
    print(text["url"])
    d = str(text["url"])
filelName =d().split("/")[-1]+".jpg" #ЗДЕСЬ ОШИБКА!

answer = requests.get(d, stream=True)

if answer.status_code == 200:
    answer.raw.decode_content = True

    with open(filelName, 'wb') as info:
        shutil.copyfileobj(answer.raw, info)

    print("Kuvanlataaminen onnistui", filelName)
else:
    print("Kuvaa ei voitu ladata.")

Current_Date = filelName.datetime.today.strftime ('%d-%b-%Y')
os.rename(r'C:\Python\15.py' + filelName ,r'C:\Python\15.py' + str(Current_Date) + '.jpg')
  • Вопрос задан
  • 907 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Не пытаться вызвать строку как функцию, а именно в моменте d(). Просто убрать скобки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы