【问题标题】:Why is my does my array need to be integers or slices?为什么我的数组需要是整数或切片?
【发布时间】:2020-12-06 20:19:39
【问题描述】:

当我在第 26 行按下按钮时 第 17 行的命令被触发。 功能是第 30 行的条目 在第 18 行被添加到数组中。 现在,当我在第 34 行按下下载按钮时 第 12 行的命令被触发。错误即时获取 = TypeError:列表索引必须是整数或切片,而不是 str

我的目的是为数组添加更多名称,并让第 12 行的下载函数遍历数组中的所有名称 有人可以帮我吗

我试图在这样的论坛上找到答案,但由于我的编码技能,很难理解专门针对提问者的答案

import instaloader
import tkinter as tk


GUI = tk.Tk()

loader = instaloader.Instaloader(download_comments=False, download_geotags=False, 
                                     save_metadata=False, download_video_thumbnails=False)  #Voreinstellung für Download (preset for download)

Instaname = []

def download():                                 #Download command           (download command)
    for i in Instaname:
        loader.download_profile(Instaname[i])   #Command für Downloadziel   (command for download target)


def hinzufügen():                               #Hinzufügen command         (Add button)
        Instaname.append(entryUser.get())       #Name, Array hinzufügen     (add name to array)
        

#Fenstergröße (Window)
canvas = tk.Canvas(GUI, height=100, width=200)
canvas.pack()

#Hinzufügenbutton (Addbutton)
addnamebutton = tk.Button(GUI, text="Name hinzufügen",command=hinzufügen)
addnamebutton.pack()

#ZielUsernameEntry (TargetUsernameEntry)
entryUser = tk.Entry(GUI)
entryUser.pack()

#Downloadbutton    (Downloadbutton)
downbutton = tk.Button(GUI, text="Download", command=download, bg="blue", cursor="target")
downbutton.pack()

GUI.mainloop()

【问题讨论】:

    标签: python arrays for-loop


    【解决方案1】:

    您正在尝试使用 Instaname 的元素作为索引返回到同一列表中:

        for i in Instaname:
            loader.download_profile(Instaname[i])
    

    相反,直接使用元素:

        for i in Instaname:
            # each i is a different string from Instaname
            loader.download_profile(i) 
    

    如果您想迭代 Instaname 的索引,您需要构建一个 range 的索引,然后对其进行迭代:

        for i in range(len(Instaname)):
            # now each i is an int between 0 and len(Instaname)-1
            loader.download_profile(Instaname[i])
    

    【讨论】:

      猜你喜欢
      • 2022-06-11
      • 2015-08-22
      • 2012-02-09
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 2018-02-01
      • 2023-03-10
      • 1970-01-01
      相关资源
      最近更新 更多