首页 > 解决方案 > 如何使用 pytube 获取用户输入的文件下载路径

问题描述

我做了一个 Youtube 下载器,但无法根据用户输入的路径保存视频;下面是我的代码。请参考这个,我已经编辑了代码。我正在尝试制作一个 GUI YT 视频下载器,并且我已经导入了每个必备库,当我在 video.download(path) 中执行此操作时,我得到一个错误类未定义,当我向其中添加引号时它会自动创建一个名为PATH的新文件夹

from tkinter import *
from pytube import YouTube
from tkinter import filedialog

root = Tk()
root.geometry('800x600')
root.resizable(0,0)
root.title("YouTube Video Downloader")
def browseFiles():
    path = filedialog.askdirectory()
    location = '"' + path + '"'
    print(location)


Label(root,text = 'Youtube Video Downloader', font ='arial 20 bold').pack()
Label(root , text = 'Choose directory' , font = 'arial 20 bold').place(x =120, y=190)

button_explore = Button(text = "Choose directory" , command = browseFiles)

link = StringVar()

Label(root, text = 'Paste your Link Here:', font = 'calibri 25 bold').place(x= 250 , y = 50)
link_enter = Entry(root, width = 90,textvariable = link).place(x = 120, y = 110)



#syntax to download video from youtube


def Downloader():
     
    link1 =YouTube(str(link.get()))
    video = link1.streams.filter(res = "1080p").first()
    video.download(r'path')
    Label(root, text = 'DOWNLOADED', font = 'calibri 20').place(x= 180 , y = 210)  


Button(root,text = 'DOWNLOAD', font = 'calibri 15 bold' ,bg = 'firebrick1', padx = 2, command = Downloader).place(x=300 ,y =350)
button_exit = Button(text = "Exit" , command = exit)
button_exit.place(x= 250,y=500)
button_explore.place(x = 120, y= 240)

root.mainloop()

标签: pythonpython-3.xpytube

解决方案


如果没有更多信息,很难确切知道原因,但我曾经遇到过类似的问题,我通过编写我的路径来解决它save(r'path')


推荐阅读