将变量插入 url

insert a variable into an url

我有一个包含数字的 CSV 文件,我想将这些数字插入到 url 中的特定位置:就在“"value":”之后 这是我的代码:

with open('update_cases_id.csv') as p:
    for lines in p:
        uuid = lines.rstrip()

        url_POST = "www.example.com/"

        values = {}
        values['return_type'] = 'retrieval'
        values['format'] = 'TSV'
        values['size'] = '70'
        values['filters'] = '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value": .format(uuid)}}]}'

        data = urllib.urlencode(values)

        url_final = url_POST + '?' + data

        req2 = urllib2.Request(url_final)
        req2.add_header('cookie', cookie)
        handle = urllib2.urlopen(req2)

( 编辑: 输入示例:123456-123456-987654 示例输出:它是数据文本)

您可以使用字符串格式来完成此操作,这应该适合您:

# ...snip
values['filters'] = '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value":%s}]}' % uuid
# snip...

%s会被%替换操作符替换成uuid:

>>> values = {}
>>> uuid = 1234
>>> values['filters'] = '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value":%s}]}' % uuid
>>> values
{'filters': '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value":1234}]}'}

尝试使用Template.

from string import Template
params = Template('{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value": ${your_value}}}]}')
params = params.safe_substitute(your_value=123)
# params is '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value":123}]}'