我使用Python,这是我的代码
myUser = 'username'
myServer = 'http://api.url.net', "{\"orga\":\"monorga\",\"coupon\":\"moncoupon\"}"
myPass = 'pass'
authString = base64.encodestring('%s:%s' % (myUser, myPass))
headers = {'Authorization':"Basic %s" % authString}
req = urllib2.Request(myServer, None, headers)
openedUrl = urllib2.urlopen(req)
url = url.strip()
AttributeError: 'tuple' object has no attribute 'strip'
请帮助我
当您编写
url = 'https://api.url.net', "{\"orga\":\"monorga\",\"coupon\":\"moncoupon\"}"
时,基本上您只是创建一个由两个元素(tuple
和 'https://api.url.net'
)组成的 "{\"orga\":\"monorga\",\"coupon\":\"moncoupon\"}"
,并将对此元组的引用分配给 url
变量。这是因为,在 python 中,并不总是需要编写元组的括号:例如 a = 1, 2
。
因此,
url
现在是一个元组。另外,元组没有 strip
方法,因此您无法调用 url.strip
。
要在
strip
上调用 url
,必须先将其转换为字符串。
我在遇到此错误消息时发现了这个问题。
就我而言,问题是我在声明字符串的行上有一个错误的尾随逗号,如下所示:
x = "my string",
因此,我觉得很奇怪,x 是一个长度为 1 的元组。第一个也是唯一的元素是
"my string"
。
这让我觉得这是一个容易犯且令人困惑的错误,所以我想我应该把这个答案放在这里。
请注意,您的输出是一个元组:👇
url = 'https://api.url.net', "{\"orga\":\"monorga\",\"coupon\":\"moncoupon\"}"
并且元组对象没有属性“strip”。 你可以用这个方法解决这个问题:
url = url[0] + url[1]