youtube-dl 代码运行后返回 0

youtube-dl 代码运行后返回 0

我一直遇到这个问题,每当我运行这段代码时:

import os
import youtube_dl


songid = os.system(f'youtube-dl "ytsearch:hi there" --get-id')
print(songid)

它返回视频 ID,但末尾还有一个随机的“0”。有人能帮我解决这个问题吗?非常感谢你们的帮助!

答案1

实际上你的电话

os.system(f'youtube-dl "ytsearch:hi there" --get-id')

打印视频的 ID,因为这是你的 shell 命令在 stdout 上打印的内容;它返回命令的错误代码,即0此处命令成功。因此您songid存储的是错误代码,而不是 ID。

此外,我认为您没有按预期使用 youtube_dl,因为您使用 导入了 youtube_dl python 绑定,import youtube_dl但从未使用过它。相反,您直接调用 youtube-dl shell 命令。我认为使用 python 绑定会更容易,不需要使用os.system

相关内容