打开终端并 运行 在 Python 中卷曲

Open Terminal and Run Curl in Python

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

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)

从 csv 中获取一些 spotify track uris 和 将它们放入任何人都可以从 Spotify Api 获得的卷曲中。此 curl 将特定曲目添加到我的播放列表中。然后我打开一个新终端并执行 curl。 (从 中找到 os.system 命令)

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

{
  "snapshot_id" : "MTQxxx"
}

非常感谢。

问的很傻,但为什么不直接调用 curlOutput = os.system("curl [your concatenation]")

可能正好解决您的问题。