【发布时间】:2020-11-27 15:30:52
【问题描述】:
当我尝试运行程序并单击“下载”时,我总是会下载 youtube 视频:
AttributeError: 'builtin_function_or_method' object has no attribute 'get'
但我不知道为什么,这是我的完整代码,以防它有用:
import tkinter as tk
import pytube
from tkinter import *
from pytube import YouTube
def handle_focus_in(_):
e.delete(0, tk.END)
e.config(fg='black')
def handle_focus_out(_):
e.delete(0, tk.END)
e.config(fg='grey')
e.insert(0, "Input Youtube URL")
def handle_enter(txt):
print(e.get())
handle_focus_out('dummy')
def click():
inp = input.get()
yt = YouTube(inp)
print(yt.streams.all())
stream = yt.streams.first()
stream.download()
root = tk.Tk()
b1 = Button(root, text="Download", fg="red", command=click)
b1.pack(side=BOTTOM)
e = tk.Entry(root, bg='white', width=30, fg='grey')
e.pack(side=TOP)
e.insert(0, "Input Youtube URL")
e.bind("<FocusIn>", handle_focus_in)
e.bind("<FocusOut>", handle_focus_out)
e.bind("<Return>", handle_enter)
root.title("Ayomide's Youtube Downloader")
root.configure(background="black")
root.mainloop()
【问题讨论】:
-
我认为问题出在
inp = input.get()这一行。加入input是什么意思?你还没有声明。所以它使用了你没想到的python中的input。顺便说一句,您最好为变量使用其他名称,以免出现难以理解的错误。 -
我不确定,
inp = input.get()是什么意思,但实际上是错误的,因为input.get()你指的是python 内置的input()函数,但我认为它应该是@ 987654329@只是一个猜测。
标签: python tkinter youtube attributeerror pytube