После того, как для l oop я напечатал только один путь к папке с изображениями вместо нескольких строк изображений, python - PullRequest
0 голосов
/ 13 января 2020

Я перебрал папку media / images, которая содержит все пути к изображениям этой папки, используя функцию os.walk (). После того, как я сделал в l oop, я получаю только одно изображение в этой папке, и я думаю о изображениях героев Dota2 более 115.

Я покажу вам код и распечатайте экран, чтобы вы могли внимательно смотреть. Я думаю, что допустил ошибку, поскольку в l oop некоторые были, но я новичок в python.

insert_heroes.py (строки с 15 по 18 - это итерации по моей папке media / images.)

import requests
import json
import os

API_URL = 'http://127.0.0.1:8000'

if __name__ == '__main__':
    r = requests.get("https://api.opendota.com/api/heroes")
    all_heroes_info = json.loads(r.content.decode('UTF-8'))

    for hero_info in all_heroes_info:
        name = hero_info['localized_name']
        hero_type = hero_info['primary_attr']

    for root, dirs, files in os.walk("../../media/images/", topdown=False):
        for image in files:
            pass
        print(image)

        keys = [name]
        values = [image]
        # dictionary = dist(zip(keys, values))
        # print(dictionary)
        # print(keys)

        mutation_create_hero = '''
                  mutation ($name: String!, $heroType: String!, $image: String!) {
                      createHero(name: $name, heroType: $heroType, image: $image) {
                          name
                          image
                      }
                  }
              '''
        variables = {'name': name, 'heroType': hero_type, 'image': image}

        # localhost_api_response = requests.post(
        #     '{}/graphql/'.format(API_URL),
        #     json={
        #         'query': mutation_create_hero,
        #         'variables': variables
        #     }
        # )

Что я получаю при печати переменной изображения - https://prnt.sc/qmzh8g Только 1 значок. Zeus icon.png - последний файл изображения в каталоге media / images.

Спасибо

1 Ответ

0 голосов
/ 13 января 2020

Измените строки 15-18 с

for root, dirs, files in os.walk("../../media/images/", topdown=False):
    for image in files:
        pass
    print(image)

на:

for root, dirs, files in os.walk("../../media/images/", topdown=False):
    for image in files:
        print(image)

Отпечаток на отпечатке был слегка смещен. Оператор print был в l oop, но вне внутреннего l oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...