0
def postLoadItemUpdate(itemid):
    r = requests.post("http://www.domain.com/ex/s/API/r/postLoadItemUpdate?id='".itemid."'")
    print(r.text)

出什么问题了'".itemid."'"

那里似乎有语法错误。

4

6 回答 6

1

如果您要连接字符串,请使用+运算符:

r = requests.post("http://www.domain.com/ex/s/API/r/postLoadItemUpdate?id='" + itemid + "'")
于 2013-10-28T15:22:46.383 回答
1

在 Python 中使用+运算符进行字符串连接:

"http://www.domain.com/ex/s/API/r/postLoadItemUpdate?id='" + itemid + "'"

但是对于字符串连接itemid应该是一个字符串对象,否则需要使用str(itemid).

另一种选择是使用字符串格式,这里不需要类型转换:

"http://www.domain.com/ex/s/API/r/postLoadItemUpdate?id='{}'".format(itemid)
于 2013-10-28T15:22:51.943 回答
1

要连接您必须使用的字符串+,如果itemid不是字符串值,您可能需要申请str将其转换为字符串。

"http://www.domain.com/ex/s/API/r/postLoadItemUpdate?id='" + str(itemid) + "'"
于 2013-10-28T15:22:56.743 回答
1

Python中的字符串连接是这样工作的

s + itemId + t

不是这样的:

s . itemid . t
于 2013-10-28T15:23:07.133 回答
1

或者,您也可以使用format

r = requests.post("http://www.domain.com/ex/s/API/r/postLoadItemUpdate?id={0}".format(itemid))

在您的特定用例中,formal 似乎更灵活,并且 url 更改影响不大。

于 2013-10-28T15:24:57.967 回答
1

Where to start: does "constant string".itemid."constant string 2" work in Python?

You need to concatenate strings differently. Interactive mode for Python is your friend: learn to love it:

    $ python
    Python 2.7.5 (default, Aug 25 2013, 00:04:04)
    [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> foo = "-itemid-"
    >>> "string1" + foo + "string2"
    'string1-itemid-string2'

That should give you a starting point.

于 2013-10-28T15:30:58.590 回答