字典键名中的美元符号

Dollar sign in dictionary key name

我正在尝试使用 python 登录网站,用户名和密码字段的名称中包含美元符号,我该如何克服它?

import requests
with requests.Session() as c:
url = 'http://www.somewebsite.com/login.aspx'
USERNAME = 'username'
PASSWORD = 'password'
login_data = dict(ctl00$MainContent$txtLogin=USERNAME, ctl00$MainContent$txtPwd=PASSWORD)

字段名称是 ctl00$MainContent$txtLogin 和 ctl00$MainContent$txtPwd。

使用方括号和正确的字符串键。

login_data = {}  # or dict()
login_data['foo$bar'] = 'baz'

这只是一个问题,因为您正在使用关键字参数调用 dict 构造函数。如果你使用更正常的文字语法,它工作正常:

login_data = {'ctl00$MainContent$txtLogin': USERNAME, 'ctl00$MainContent$txtPwd': PASSWORD}