使用'传递'作为字典关键字
我试图做一个相当基本的请求脚本签入网站,但我遇到了问题;该网站需要'传递'键,但是每当我尝试使用这个python会抛出一个错误,说无效的语法。这里是我的代码:使用'传递'作为字典关键字
import requests
with requests.Session() as c:
url = 'www.a_url.com'
USERNAME = 'a username'
PASSWORD = 'a password'
c.get(url)
login_data = dict(user=USERNAME, pass=PASSWORD, jsok='1', dologin='Login')
c.post(url, data=login_data, headers={"Referer": 'www.a_referer.com'})
page = c.get('www.a_page.com')
print(page.content)
output = open('test.html','w')
output.write(str(page.content))
而且我给出的错误是:
login_data = dict(user=USERNAME, pass=PASSWORD, jsok='1', dologin='Login')
^
SyntaxError: invalid syntax
任何想法,我怎么能强迫的Python忽略了“通行证”,只是把它作为字典键?
由于pass
是关键字,因此它不能用作标识符。你需要为此使用一个字典 - 文字:
login_data = {
'user': USERNAME,
'pass': PASSWORD,
'jsok': '1',
'dologin': 'Login',
}
我会尝试这个,谢谢! – KlusterMonkey
这工作,谢谢!另外显然我不能再接受11分钟的答案,但这个问题已经解决了。 – KlusterMonkey
简短的回答,你不能这样做的语法。 pass
是python的保留关键字,例如return
。
设置任意对象为重点的另一种方法是使用下面的语法:
login_data = {"user": USERNAME, "pass": PASSWORD, ...}
这是比较通用的,你可以使用任何东西的关键。
{None: 1, 1: 2, str: int}
'pass'是一个关键字在Python – MooingRawr
是的,我知道,但我想的网站登录到应用传递为核心 – KlusterMonkey