我一直在試圖把幾行代碼放在一起,它需要一個YouTube音樂視頻URL並將其轉換爲mp3/mp4 + 720p,然後下載它到我的DropBox音樂文件夾。通過入口小部件傳遞一個URL(TKinter // Python 3+)
當我試圖通過使用TKinter部件(輸入欄)傳遞一個URL我打有關的條目對象如何有沒有屬性「類型」,或該網址是無效的錯誤。這是否與不向youtube鏈接添加引號或什麼?
如果有人有任何見解,我將不勝感激。我想我錯過了一些非常明顯的東西,但我似乎無法弄清楚究竟是什麼。
#!/usr/bin/env python
import sys
import os
import tkinter
from pytube import *
from tkinter import *
top=tkinter.Tk()
yt_variable = StringVar()
def helloCallBack():
#Select youtube link you want to upload and print contents
yt = YouTube(yt_entry)
print(yt.get_videos())
print(yt.filename)
#Set parameters for youtube video
video = yt.get('mp4', '720p')
print(yt.videos)
print("success")
#Select download location for youtube video
video.download('C:/Users/coope/Dropbox/BrokenBow/Music/')
print("Downloaded " + str(yt.filename) + " to " + str(video.download) + " successfully!")
return
yt_label=tkinter.Label(top,text='Paste Link + Press Go')
yt_label.pack()
yt_button=tkinter.Button(top,text='Go',command= helloCallBack)
yt_button.pack()
yt_entry=tkinter.Entry(top, textvariable=yt_variable)
yt_entry.get()
yt_entry.pack()
top.mainloop()
發佈整個回溯。 – TigerhawkT3
另外:使用['str.format'](https://docs.python.org/3.4/library/stdtypes.html#str.format)連接字符串而不是使用'+'。 –
文件「C:\ Python34 \ lib \ site-packages \ pytube \ api.py」,行158,from_url video_data = self.get_video_data() 文件「C:\ Python34 \ lib \ site-packages \ pytube \ api.py「,第254行,在get_video_data中 response = urlopen(self.url) 文件」C:\ Python34 \ lib \ urllib \ request.py「,第161行,在urlopen中 return opener.open(url,data ,超時) 文件「C:\ Python34 \ lib \ urllib \ request.py」,第456行打開 protocol = req.type AttributeError:'Entry'對象沒有'type'屬性 – Cooper