Python ConfigParser不会从命令行运行

时间:2015-10-29 20:26:21

标签: python macos command-line configparser

Python脚本在IDE中成功运行,但在尝试通过命令行运行时出现ConfigParser错误。

错误:

  

引发NoOptionError(选项,部分)   ConfigParser.NoOptionError:没有选项'密码'在部分:'数据库'

代码:

from ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('settings.ini')

# sets database and API configuration from settings.ini

API_KEY = parser.get('tokens','api_key')

db_user = parser.get('database','user')
db_pwd = parser.get('database','password')
db_host = parser.get('database','host')
db_database =  parser.get('database','database')

路径和环境看起来很好,所以问题似乎与ConfigParser有关。对可能出错的任何想法?要重新迭代,脚本可以在IDE中运行(使用Spyder,PyCharm等时)。正如预期的那样,环境指向Anaconda。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您的导入目标不正确。模块名称为" configparser" (区分大小写。)您提到的IDE可能会执行一些启动初始化来掩盖错误。

答案 1 :(得分:0)

罗布(评论中)让我走上正轨。问题是Python的工作目录与预期的脚本不同。为了使脚本有效,我补充道:

import sys
import os

os.chdir(os.path.dirname(sys.argv[0]))

......它有效。感谢大家的帮助 - 非常感谢。