不显示提取的音频文件的YouTube-DL Python详细信息

问题描述

我用python写了一小段代码,以从YouTube视频中提取音频。这是代码

y_test

这是保存输出音频文件文件夹:

Output File Folder

如您所见,将显示音频文件的所有详细信息,例如“修改日期”,“类型”和“大小”。

但是,如果我将from __future__ import unicode_literals import youtube_dl link = input("Enter the video link:") ydl_opts = { 'format': 'bestaudio/best','postprocessors': [{ 'key': 'FFmpegExtractAudio','preferredcodec': 'mp3','preferredquality': '192',}],} with youtube_dl.YoutubedL(ydl_opts) as ydl: info_dict = ydl.extract_info(link,download=False) video_title = info_dict.get('title',None) path = f'D:\\{video_title}.mp3' ydl_opts.update({'outtmpl':path}) with youtube_dl.YoutubedL(ydl_opts) as ydl: ydl.download([link]) 更改为path = f'D:\\{video_title}.mp3',则不会显示文件详细信息。

Output File Folder

您为什么会这样?有什么办法解决这个问题?任何帮助,将不胜感激。谢谢。

解决方法

由于YT_Files是目录,因此可以将路径设置为path = f'D:\\{video_title}.mp3',这将导致显示元数据。然后尝试使用os.system()将文件移动到YT_Files。然后,您应该在YT_Folders上具有元数据。如果不是,那么我认为它是Windows资源管理器的错。以下代码应该可以工作,但是我不是100%确信此语法将在Windows上工作。

from __future__ import unicode_literals
import youtube_dl

link = input("Enter the video link:")

ydl_opts = {
    'format': 'bestaudio/best','postprocessors': [{
        'key': 'FFmpegExtractAudio','preferredcodec': 'mp3','preferredquality': '192',}],}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    info_dict = ydl.extract_info(link,download=False)
    video_title = info_dict.get('title',None)

path = f'D:\\{video_title}.mp3'

ydl_opts.update({'outtmpl':path})

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download([link])
import os
os.system('move D:\\*.mp3 D:\\YT_Files\\')

运行此代码,并检查是否存在元数据。不要通过Windows资源管理器进行检查。转到“属性”。单击“详细信息”选项卡,然后向下滚动。 如果您使用Date-ModifiedType查找属性,则问题出在Windows资源管理器/文件资源管理器中,但是如果您没有找到,我将尝试调试

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...