我一直遇到这个问题,每当我运行这段代码时:
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
。