Python ConfigParser 不会从命令行 运行

Python ConfigParser won't run from command line

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

错误:

raise NoOptionError(option, section) ConfigParser.NoOptionError: No option 'password' in section: 'database'

代码:

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。

非常感谢您的帮助。

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

Rob(在评论中)让我走上了正确的道路。问题是 Python 的工作目录与脚本预期的不同。为了使脚本工作,我添加了:

import sys
import os

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

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