python - 使用 'pass' 作为字典关键字

标签 python python-3.x

我正在尝试制作一个相当基本的请求脚本来登录网站,但是我遇到了问题;该网站需要“通过”键,但是每当我尝试使用此 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”并将其用作字典键吗?

最佳答案

由于 pass 是关键字,因此不能用作标识符。为此,您需要使用字典文字:

login_data = {
    'user': USERNAME,
    'pass': PASSWORD,
    'jsok': '1',
    'dologin': 'Login',
}

关于python - 使用 'pass' 作为字典关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44209623/

相关文章:

python - 在执行任何操作之前检查文件是否已打开

python - 合并数据框中的值

python - cx_freeze 从错误位置复制 dll

python - 必应 AppID 无效

python - 在输出文件 [Python] 中写入超过 80 个字符的行

python - 如何使用 asyncio 使用 SubprocessProtocol 从子进程中读取并在任意点终止该子进程?

Python 抽象语法 : Detect syntax error's'

python - 将 Python2 文件派生类移植到 Python 3

python - 映射每个元素的功能?

python - Eclipse安装Python的什么解决方案