我在玩PostgreSQL和web.py,我注意到如果我在数据库中有用户名和密码,并且密码可能包含string.printable
成员的特殊字符,那么当我想通过web.py模板将查询到的密码打印到浏览器时,字符转义出错,密码不想显示。相反,浏览器提供下载包含密码的文本文件(没有文件扩展名)
在我的Python文件中:
class login:
...
def POST(self):
...
cursor.execute("SELECT password FROM tbl WHERE username = %s", (f['username'].value, ))
realpassword = cursor.fetchone()
realpassword = realpassword[0]
...
return realpassword
密码正确显示在下载的文本文件中,但如何在网页上以文本形式显示密码
Python
string.printable
包括垂直制表符\x0b
和表单提要\x0c
,这两种格式对浏览器来说都不是朋友。浏览器假设他们正在接收一个文件并提供下载(string.printable与ASCII不同。)
不是返回原始的
realpassword
,而是返回repr(realpassword)
。内置repr()
返回“包含可打印表示的字符串…”,转义控制字符相关问题 更多 >
编程相关推荐