Прежде чем начать, есть много других точных вопросов, но ни один из ответов не подходит для моей проблемы. Класс/функции log.info('foo')
выполняется один раз без проблем, однако второй раз он назвал его получить ошибку TypeError: 'str' object is not callable
TypeError: объект 'str' не может быть вызван. Хотя ничего не называется «str»
Я обнаружил, что this question имеет те же проблемы, как и я, но у меня нет ничего под названием ул. Я тестировал с другими функциями, то есть войной.
Мой код:
import praw
import sys
import traceback
from accounts import *
class logging:
def info(self, log):
self.info = '\033[94m'
self.rs = '\033[0m'
print self.info, 'INFO: ', self.rs
def warn(self, log):
self.warn = '\033[93m'
self.rs = '\033[0m'
print self.warn, 'WARNING: ', self.log, self.rs
def critical(self, log):
self.critical = '\033[91m'
self.rs = '\033[0m'
print self.critical, 'CRITICAL: ', log, self.rs
def read_accounts():
with open('accounts.py') as f:
for i, l in enumerate(f):
pass
i += 1
accounts = {}
while i > 0:
ac = globals()['account_%s' %i]
index = ac.find(':')
uname = ac[0:index]
password = ac[index+1:len(ac)]
accounts[uname] = password
i -= 1
log.info('Usernames loaded successfully! Usernames loaded:')
print accounts
def main():
log.info('Initilizing reddit accounts from file...')
try:
read_accounts()
except:
traceback.print_exc()
log.critical('Can not read accounts! Make sure format is correct!')
sys.exit()
if __name__ == '__main__':
log = logging()
main()
Кроме того, я знаю, что есть модуль регистрации в питона, но я хотел бы сделать свое дело!
Заранее благодарен!
У вас есть переменная уровня модуля с именем 'log' в вашем модуле' accounts'? – nofinator