Python ConfigParser无法正确搜索.ini文件(Ubuntu 14,Python 3.4)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python ConfigParser无法正确搜索.ini文件(Ubuntu 14,Python 3.4),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1363字,纯文字阅读大概需要2分钟。
内容图文
问题:
代码编译得很好,但是当我调用read_db_config函数时,我得到“异常:在mysql_config.ini文件中找不到mysql”
该文件位于同一目录中,但主脚本使用运行两个目录
import sys
from Config.MySQL.python_mysql_dbconfig import read_db_config
我是python的新手并且到处寻找,但我似乎无法确定我的问题
码:
from ConfigParser import ConfigParser
def read_db_config(filename='mysql_config.ini', section='mysql'):
# create parser and read ini configuration file
parser = ConfigParser()
parser.read(filename)
# get section, default to mysql
db = {}
if parser.has_section(section):
items = parser.items(section)
for item in items:
db[item[0]] = item[1]
else:
raise Exception('{0} not found in the {1} file'.format(section, filename))
return db
mysql_config.ini:
[mysql]
database = testdba
user = root
password = test
unix_socket = /opt/lampp/var/mysql/mysql.sock
解决方法:
如果您使用文件或目录名称的相对路径,python将在您当前的工作目录(bash中的$PWD变量)中查找它们(或创建它们).
如果你想让它们相对于当前的python文件,你可以使用(python 3.4)
from pathlib import Path
HERE = Path(__file__).parent.resolve()
CONFIG_PATH = HERE / '../etc/mysql_config.ini'
或(python 2.7)
import os.path
HERE = os.path.abspath(os.path.dirname(__file__))
CONFIG_PATH = os.path.join(HERE, '../etc/mysql_config.ini')
如果您的mysql_config.ini文件位于python脚本下面的etc目录中.
你当然可以使用绝对路径(以/开头,即/home/someuser/mysql_config.ini).
内容总结
以上是互联网集市为您收集整理的Python ConfigParser无法正确搜索.ini文件(Ubuntu 14,Python 3.4)全部内容,希望文章能够帮你解决Python ConfigParser无法正确搜索.ini文件(Ubuntu 14,Python 3.4)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。