python - 如何使用 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()
解决方案
如果没有更多信息,很难确切知道原因,但我曾经遇到过类似的问题,我通过编写我的路径来解决它save(r'path')
推荐阅读
- android - Android Firestore 无法获取 FirestoreInstance
- java - 从数据库中获取值作为密钥对
- sql - 在列中找不到值
- c# - 当公式包含 TRIM 函数时,EPPlus cell.calculate() 错误
- php - 将一个 H3 标签和它下面的所有 UL 标签包装在一个 div 中
- database - SailsJS 如果部署中不存在,则在哪里定义管理员用户
- python - Pandas 不满足 Numpy 要求
- c# - C#:将 GPS 数据从字符串转换为双精度
- php - 使用带有 PDO 的用户 ID 更新用户信息
- sorting - unix sort 为不同的用户提供不同的结果