语法错误Python文本带变量

时间:2013-10-28 15:21:59

标签: python python-3.x

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

'".itemid."'"

出了什么问题

那里似乎存在语法错误。

6 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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)

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

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

s + itemId + t

不喜欢这样:

s . itemid . t

答案 4 :(得分:1)

或者,您也可以使用format

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

在您的特定用例中,形式似乎更灵活,网址更改的影响不大。

答案 5 :(得分:1)

从哪里开始:"constant string".itemid."constant string 2"是否适用于Python?

您需要以不同方式连接字符串。 Python的交互模式是你的朋友:学会喜欢它:

    $ 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'

那应该给你一个起点。