在几年没有使用Python之后,我又回到了Python。我在测试Imgur Python library。在全新安装Python2.7.12之后,我快速执行了ImgurPython的pip安装,然后将示例脚本的一个小文件夹拖到我的桌面上进行测试。
auth.py示例脚本以一个函数开头,该函数包括:
# Get client ID and secret from auth.ini
config = get_config()
config.read('auth.ini')
client_id = config.get('credentials', 'client_id')
client_secret = config.get('credentials', 'client_secret')
client = ImgurClient(client_id, client_secret)auth.ini文件与auth.py文件夹位于同一文件夹中,其中包含我的客户端ID和密码。但是,在运行脚本时,我得到:
C:\Windows\system32>python C:\Users\[REDACTED]\Desktop\imgtest\auth.py
Traceback (most recent call last):
File "C:\Users\[REDACTED]\Desktop\imgtest\auth.py", line 41, in <module>
authenticate()
File "C:\Users\[REDACTED]\Desktop\imgtest\auth.py", line 16, in authenticate
client_id = config.get('credentials', 'client_id')
File "J:\Python27\lib\ConfigParser.py", line 607, in get
raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'credentials'消除了从auth.ini文件获取凭据并将其直接放入Python脚本的需要,使其运行时不会出现错误。
我确信我忽略了一些简单的东西,但是我需要一些帮助来弄清楚为什么python不能读取auth.ini文件。
发布于 2016-08-08 07:47:47
您的auth.ini文件格式可能不正确。在我的Python2.7中,使用ConfigParser可以很好地完成提取
$ cat auth.ini
[credentials]
client_id=foo
client_secret=bar在我的Ipython中:
In [1]: import ConfigParser
In [2]: config = ConfigParser.ConfigParser()
In [3]: config.read('auth.ini')
Out[3]: ['auth.ini']
In [4]: client_id = config.get('credentials', 'client_id')
In [5]: client_secret = config.get('credentials', 'client_secret')
In [6]: client_id
Out[6]: 'foo'
In [7]: client_secret
Out[7]: 'bar'https://stackoverflow.com/questions/38819009
复制相似问题