2017-02-21 43 views
0

我有一些代碼來讀取外部配置文件的憑據,Python pymysql不能接受密碼字符串中的特殊字符,如何繞過此?

configParser = ConfigParser.RawConfigParser() 
    configFilePath = r'docs/credentials.cfg' 
    configParser.read(configFilePath) 

User = configParser.get('your-config', 'user') 
    Pswd = configParser.get('your-config','pswd') 
    Host = configParser.get('your-config','hostdps') 
    db = pymysql.connect(host=Host, user=User, password=Pswd, db='xyz', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor,local_infile=True) 

密碼包含特殊字符,如:?#!F8H 3,如何使連接語句理解這些字符?

我已經嘗試添加反斜槓,傳遞它在連接字符串,不知道如何得到這個?

+0

你必須使用'UTF8' – WhatsThePoint

+0

我已經使用UTF8作爲字符集? – Viv

+0

您是否在腳本的開頭使用了'# - * - coding:utf-8 - * - '? – zipa

回答

0

錯誤是在配置文件中的密碼字符串開始之前添加引號。

我所用:。configParser = ConfigParser.RawConfigParser(),因此,它被治療「作爲密碼的一部分

挺傻