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]))
... 它有效。谢谢大家的帮助 - 非常感谢。
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]))
... 它有效。谢谢大家的帮助 - 非常感谢。