Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用spotDL?_Python_Python 3.x_Spotify - Fatal编程技术网

如何在python中使用spotDL?

如何在python中使用spotDL?,python,python-3.x,spotify,Python,Python 3.x,Spotify,我知道spotDL是用python构建的命令行应用程序,但有没有办法在脚本中使用它?简短回答:有 答案很长:是的 您知道,spotDL是一个命令行应用程序,需要使用命令行参数。在python中,没有一种方法(据我所知)来设置这些参数 我相信您正在询问如何使用导入和直接使用函数,例如spotdl.download(spotifylink),但是,该应用程序仅设计用于命令行使用。那我们就这么做吧 怎么用? 我们可以使用子流程模块通过python可执行文件启动spotdl 导入子流程 导入sys#fo

我知道spotDL是用python构建的命令行应用程序,但有没有办法在脚本中使用它?

简短回答:有 答案很长:是的 您知道,spotDL是一个命令行应用程序,需要使用命令行参数。在python中,没有一种方法(据我所知)来设置这些参数

我相信您正在询问如何使用导入和直接使用函数,例如
spotdl.download(spotifylink)
,但是,该应用程序仅设计用于命令行使用。那我们就这么做吧

怎么用? 我们可以使用
子流程
模块通过python可执行文件启动spotdl

导入子流程
导入sys#for sys.executable(当前使用python的文件路径)
从spotdl import _umain _;作为spotdl#获取spotdl的位置
spotifylink=“无论您想下载什么”
子进程检查调用([sys.executable,spotdl.\uu文件,spotifylink])
编辑:有更好的方法(需要)

从spotdl导入uuu main uuuuu作为开始#初始化
从spotdl.search.songObj导入songObj
从pytube导入YouTube
spotifylink=“无论您想下载什么”
song=SongObj.from_url(spotifylink)
url=song.get_youtube_link()#耶,你有一个youtube链接!
yt=YouTube(url)
yts=yt.steams.get\u audio\u only()
fname=yts.download()
打印(f“下载到{fname}”)

您可以这样使用os.popen:

import os
os.popen("spotdl https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M")
或操作系统:

os.system("spotdl https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M")