gpt4 book ai didi

python - 使用 youtube_dl 通过 if 和 elif 语句下载 youtube 视频

转载 作者:太空宇宙 更新时间:2023-11-03 21:14:16 24 4
gpt4 key购买 nike

我希望使用 if 和 elif 语句下载带字幕或不带字幕的视频。目前只有我的第一个选项有效,当我选择第二个选项时,尽管有第二个选项,第一个选项将再次运行。

目前,我的实现是:

import youtube_dl

def switch_demo(x):

switcher = {

1: "With Subtitles",
2: "Without Subtitles",
}


return switcher.get(x,"Invalid Option")

x = int(input("Select the option\n1.With Subtitles\n2.Without Subtitles\n\n"))

print(switch_demo(x))

link=input('Please enter a url link\n')


if switch_demo(1):

ydl_opts = {"writesubtitles": True}

with youtube_dl.YoutubeDL(ydl_opts) as ydl:

ydl.download([link])

elif switch_demo(2):

ydl_opt = {}

with youtube_dl.YoutubeDL(ydl_opt) as ydl:

ydl.download([link])

我希望能够下载带或不带字幕的视频,并且这两个选项都有效。

最佳答案

您没有将 x 传递给函数,因此您永远不会改变结果,也就是说我已经重写了您的代码。

import youtube_dl

switcher = {
1: "With Subtitles",
2: "Without Subtitles",
}


def switch_demo(x):
return switcher.get(x, False)


print("Select an option")
print(*["#{} {}".format(i + 1, switcher[i + 1]) for i in range(max(switcher.keys()))], sep = "\n")
option = int(input("> "))
link = input('Please enter a url link\n')

useSubtitles = switch_demo(x)

ydl_opts = {"writesubtitles": useSubtitles}

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

关于python - 使用 youtube_dl 通过 if 和 elif 语句下载 youtube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54834055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com