Python 使用';通过';作为字典的关键词
我试图做一个相当基本的请求脚本,登录到一个网站,但我遇到了一个问题;该网站需要“pass”键,但是每当我尝试使用此python时,就会抛出一个错误,表示语法无效。这是我的密码:Python 使用';通过';作为字典的关键词,python,python-3.x,Python,Python 3.x,我试图做一个相当基本的请求脚本,登录到一个网站,但我遇到了一个问题;该网站需要“pass”键,但是每当我尝试使用此python时,就会抛出一个错误,表示语法无效。这是我的密码: import requests with requests.Session() as c: url = 'www.a_url.com' USERNAME = 'a username' PASSWORD = 'a password' c.get(url) login_data =
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”并将其用作dict键吗?因为
pass
是一个关键字,所以不能将其用作标识符。您需要为此使用dict文字:
login_data = {
'user': USERNAME,
'pass': PASSWORD,
'jsok': '1',
'dologin': 'Login',
}
简而言之,你不能用这种语法
pass
是python的保留关键字,例如return
将任意对象设置为键的另一种方法是使用以下语法:
login_data={“user”:用户名,“pass”:密码,…}
这是更通用的,您可以使用任何东西作为键
{None:1,1:2,str:int}
pass
是PythonYeah中的一个关键字,我知道,但我尝试登录的网站使用pass作为其关键字这很有效,谢谢!很显然,我在11分钟内无法接受答案,但这肯定已经解决了。嗯。。。没什么。您可以使用任何可以散列为密钥的内容。所以<代码>{['list!']:“没有骰子,将产生TypeError”}避免问题的不是“它更通用”,而是字符串键被写成字符串,而不是关键字参数。