Python 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等时)。正如预期的那样,环境指向水蟒。

非常感谢您的帮助。

蒂姆·沙夫

罗伯(在评论中)使我走上了正确的轨道。问题在于Python的工作目录与脚本所预期的不同。为了使脚本正常工作,我添加了:

import sys
import os

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从命令行运行Python

从命令行运行SikuliX 1.1.4 Python脚本

从命令行运行特定的 python 解释器

如何从命令行运行Django python文件

从命令行运行Python exe

从命令行运行R脚本(从python执行)

从命令行运行Python程序

如何从命令行运行python函数

无法从命令行运行 python 脚本 NO MODULE NAMED project_name

使用 anaconda envs 中定义的不同 python 版本从命令行运行 python 脚本

从命令行运行Windows上的Python 3安装

Python 脚本不会从命令行运行。它显示没有错误

从命令行运行python代码时指定要使用的内核

从命令行运行Python时,导入urllib.parse失败

从命令行运行python脚本,然后进入交互模式

在venv中使用库从命令行运行Python文件

是否可以从命令行运行 python 文件,但与之交互?(REPL)

Python 直接从命令行运行外部 lib 类

作为可执行文件运行Python文件与从命令行运行Python文件之间的区别?

无法从命令行运行

kedro 作为 python 命令而不是命令行运行

如何通过传递脚本名称作为参数从命令行运行不同的python脚本

如何从命令行运行带有程序名称且没有路径的python程序?

从命令行运行相同的脚本时,从 scala 执行 python 脚本给出错误不会

从python而不是命令行运行python行为

从python或ipython或命令行运行pydev模块?

通过Windows命令行运行Python脚本

告诉命令行运行Python 3

无法从命令行为Python导入json