7.2连接器/Python选项文件支持

从2.0.0版本开始,Connector/Python具有从选项文件读取选项的能力。(有关MySQL选项文件的一般信息,请参见使用选项文件)。关于connect ()Connector/Python程序中选项文件的调用控制使用:

  • option_files:要读取哪些选项文件。该值可以是文件路径名(字符串)或路径名字符串的序列。默认情况下,Connector/Python不读取任何选项文件,因此必须显式给出此参数以读取选项文件。按照指定的顺序读取文件。

  • option_groups:如果读取选项文件,则从选项文件中读取哪些组。该值可以是选项组名(字符串)或组名字符串的序列。如果没有给出该参数,则默认值为(“客户端”,“connector_python”),阅读(客户端)而且(connector_python)组。

连接器/Python还支持包括!而且includedir !选项文件中的包含指令。这些指令的工作方式与其他MySQL程序相同(参见使用选项文件).

下面的例子将单个选项文件指定为字符串:

CNX = mysql.connector.connect(option_files='/etc/mysql/connectors.cnf')

这个例子将多个选项文件指定为字符串序列:

Mysql_option_files = ['/etc/mysql/connectors.cnf', './development.cnf',] CNX =mysql .connector.connect(option_files= Mysql_option_files)

默认情况下,Connector/Python不读取选项文件,以向后兼容2.0.0以上版本。这不同于标准的MySQL客户端,例如mysql, mysqldump在默认情况下,它们读取选项文件。要找出标准客户机在您的系统上读取哪些选项文件,请使用——帮助选项并检查输出。例如:

mysql -help…默认选项按给定顺序从以下文件中读取:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf…

如果指定option_files参数来读取选项文件,Connector/Python将读取(客户端)而且(connector_python)默认为选项组。要显式指定要读取哪些组,请使用option_groups连接参数。下面的示例只导致(connector_python)待读组别:

CNX = mysql.connector.connect(option_files='/etc/mysql/connectors.cnf', option_groups='connector_python')

方法中指定的其他连接参数connect ()调用优先于从选项文件中读取的选项。假设/etc/mysql/connectors.conf包含以下几行:

[客户]= cpyapp数据库

以下connect ()呼叫包含no数据库连接参数。产生的连接使用cpyapp,选项文件中指定的数据库:

CNX = mysql.connector.connect(option_files='/etc/mysql/connectors.cnf')

相比之下,下面是connect ()Call指定一个与选项文件中找到的数据库不同的默认数据库。产生的连接使用cpyapp_dev作为默认数据库,不是cpyapp

Cnx2 = mysql.connector.connect(option_files='/etc/mysql/connectors.cnf', database='cpyapp_dev')

Connector/Python引发一个ValueError无法读取或已经读取了选项文件。这包括由包含指令读取的文件。

(connector_python)组,只接受Connector/Python支持的选项。无法识别的选项会导致ValueError被抚养。

对于其他选项组,Connector/Python会忽略无法识别的选项。

命名选项组不存在不是错误。

Connector/Python将选项文件中的选项值视为字符串,并使用eval ().这使得可以指定比简单标量更复杂的选项值。