【问题标题】:passing file path to youtube-dl in python在python中将文件路径传递给youtube-dl
【发布时间】:2023-03-31 05:28:01
【问题描述】:

我正在使用 python subprocess.call() 调用 [youtube-dl.exe][1] 并像这样传递参数

downloadLocation = "-o " + "C:/Users/username/Documents/Youtube/%(title)s.%(ext)s"

subprocess.call(["youtube-dl",
                 "-f" "bestvideo[ext=mp4, height=1080]+bestaudio[ext=m4a]/best[ext=mp4, height=1080]/best",
                 downloadLocation,
                 url])

但结果是(在 python 控制台上):[download] Destination: C#\Users\username\Documents\Youtube\myVideoFile.mp4

文件正在下载到执行 python 调用的当前目录中。

示例:"C:\Users\username\PycharmProjects\pytest\ C#\Users\username\Documents\Youtube"

在我看来它无法转义文件路径中的“:”字符。

请帮忙

【问题讨论】:

  • 您需要分别传递标志(-f-o)及其值。 IE。而不是downloadLocation, 你需要'-o', "C:/Users/username/Documents/Youtube/%(title)s.%(ext)s",
  • 有一个python版本,它会更简单:pip install --upgrade youtube-dl
  • 尝试使用原始字符串作为您的路径:r"C:/Users/username/Documents/Youtube/%(title)s.%(ext)s"
  • @Rawing 也不行

标签: python python-3.x github subprocess youtube-dl


【解决方案1】:

更新:这是我如何让它工作的

subprocess.call(["youtube-dl",
                 "-f" "bestvideo[ext=mp4, height=1080]+bestaudio[ext=m4a]/best[ext=mp4, height=1080]/best",
                 "-o" "%s" %downloadLocation,
                 "--ignore-errors",
                 url])

【讨论】:

    猜你喜欢
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多