打开终端并在 Python 中运行 curl



我一直在尝试运行这段代码,

import csv
import os
token = 'Bearer xxx"'
with open('uris.csv', 'r', newline = '',encoding = 'utf-8') as ifp:
ir = csv.reader(ifp)
for i, row in enumerate(ir):
v = ('curl -X "POST" "https://api.spotify.com/v1/playlists/7miRhC7OZhQUvnP1ONghJm/tracks?uris=spotify%3Atrack%3A'+
', '.join(row)+
'" -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: '+
token + 'n')
os.system("gnome-terminal -e 'bash -c ""+v+"; sleep 10" '")
print(v)

这需要一些 Spotify 从 CSV 和 将它们放入任何人都可以从 Spotify API 获得的卷曲中。此卷曲将特定曲目添加到我的播放列表中。然后我打开一个新终端并执行 curl。(os.system 命令是从打开终端运行命令 python 中找到的(

问题是,当我执行此代码时,为每个 curl 打开python3 code.py新终端,但没有执行任何 curl。卷发本身是对的。如果我复制粘贴一个卷曲并运行它,该曲目将添加到我的播放列表中。此外,如果我单独运行 curl,我会在终端中得到一个响应,如果我通过代码运行 curl,我不会得到这个响应。响应如下所示:

{
"snapshot_id" : "MTQxxx"
}

多谢。

问这个问题很愚蠢,但为什么不直接打电话给curlOutput = os.system("curl [your concatenation]")呢?

可能只是解决你的问题。

最新更新