2016-08-07 3 views
0

Я вернулся на Python через пару лет, не используя его. Я тестирую Imgur Python library. После новой установки Python 2.7.12 я быстро установил пакет ImgurPython, а затем перетащил небольшую папку образцов сценариев на свой рабочий стол для тестирования.Ошибка ImgurPython ConfigParser

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 и содержит свой идентификатор клиента и секрет. Тем не менее, при выполнении сценария, я получаю:

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.

ответ

0

Возможно, у вас плоский формат файла auth.ini. В моем питоне 2.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' 
Смежные вопросы