Python操作%不起作用?

时间:2012-12-24 23:07:50

标签: python python-requests operation

我似乎无法让这个工作,但有人指出我正确的方向?如果我把这些值放在没有承诺的情况下,那么当我这样做时,我会得到错误。

username1 = raw_input('Enter Username:\n')
password = raw_input('Enter Password:\n')
r = requests.get("https://linktoasp.net/",auth=HttpNtlmAuth("domain\\%s",password),cookies=jar) % (username1)  

错误:

  

回溯(最近一次呼叫最后一次):文件“attend_punch.py​​”,第32行,   在

r = requests.get("https://linktoasp.netserver/homeportal/default.aspx",auth=HttpNtlmAuth("domain\\%r",password),cookies=jar)
     

%(username1)TypeError:%不支持的操作数类型:   '回应'和'str'

3 个答案:

答案 0 :(得分:4)

你可以试试这个

auth = HttpNtlmAuth("domain\\%s" % username1, password), cookies = jar) 

答案 1 :(得分:3)

你可能想要的是:

r = requests.get(
        "https://linktoasp.net/",
         auth=HttpNtlmAuth("domain\\%s" % username1,password),cookies=jar)

为了使用%进行字符串插值,%和值需要紧跟字符串:

"domain\\%s" % username1

而不仅仅是稍后才出现:

HttpNtlmAuth("domain\\%s", ...) % username1

答案 2 :(得分:3)

%符号在Python中可以有2个含义:

  • 模运算符,它将为您提供另一个int的剩余部分。这通常用于2个数字。
  • 字符串格式化运算符,它位于字符串之后,用实际值替换占位符。这就是你想要的,但是你没有把它放在字符串之后,所以Python将它解释为模运算符,因为它没有为任何对象定义(仅适用于int 通常) ,提出了这个例外。