如何将参数传递给 youtube-dl 中的 --output?

How can I pass parameters to --output in youtube-dl?

有一个带有一堆 youtube 链接的 csv 文件。 它的结构类似于 video-name \t part \t youtube-url

我想使用带有 python 的 youtube-dl 下载每个视频并将其保存为 video-name_part.extension - 是否可以这样做,或者我只能做类似 %(name ) 包含在 youtube-dl 中?

您可以导入youtube_dl模块,然后使用参数字典传递参数。您需要查看 the documentation 以更好地控制您可以做什么,但 outtmpl 允许您按照建议的方式控制输出格式。

以下脚本向您展示了如何阅读 CSV 文件:

import csv, youtube_dl

with open("filelist.csv", "r") as f_filelist:
    csv_filelist = csv.reader(f_filelist, delimiter="\t")

    for cols in csv_filelist:
        video_name = cols[0]
        part = cols[1]
        youtube_url = cols[2]

        ydl_opts = {"outtmpl" : r"{}_{}.%(ext)s".format(video_name, part)}

        with youtube_dl.YoutubeDL(ydl_opts) as ydl:
            ydl.download([youtube_url])