2015-06-02 3 views
1

Извините, я новичок в Python здесь. Я пытаюсь написать скрипт python с помощью модуля SafeConfigParser, прочитать учетные данные из файла и выполнить HTTP-вызов. При запуске скрипта отображается следующая ошибка. Как использовать переменные «пользователь» и «секрет» в ключевой строке (которая вызывает модуль base64). Вместо того, чтобы запускать parser.get дважды для пользователя и секрет, можно ли это сделать лучше?с использованием SafeConfigParser в Python

import base64 

from ConfigParser import SafeConfigParser 

parser = SafeConfigParser() 

parser.read('cred.ini') 

user = parser.get('test', 'username') 

secret = parser.get('test', 'password') 

print user 

print secret 

url = "https://192.168.1.1/list" 

key = base64.b64encode(user):(secret) 

print key 

Полномочия чтения

# cat cred.ini 
[test] 
username = james 
password = mypass 

Ошибка:

File "test.py", line 19 
    key = base64.b64encode(user):(secret) 
           ^
SyntaxError: invalid syntax 

ответ

0

Ваш код неправильно.

key = base64.b64encode(user):(secret) 

Это неправильно

ваши должны попробовать

key = base64.b64encode(user) 
+0

Пробовал то же самое, но получаю эту ошибку. TypeError: строковые индексы должны быть целыми числами, а не str – user3331975

+0

Что именно вы пытаетесь сделать с помощью 'key = base64.b64encode (user) :(secret)'? Я думаю, что вы можете сделать base64 из : , если да, то вызов должен быть 'ключ = base64.b64encode (':'. Присоединиться ([пользователь, секрет]))' – Oberix