Форум сайта python.su
Почему при такой конструкции файл открывается только один раз, а повторная попытка открыть его приводит к ошибке - файл не найден.
def getConf(self, opt): line = map(lambda s: s.replace('\n', ''), open('data/createa.conf', 'r').readlines()) l = [] for i in range(len(line)): l.append(line[i].split('=')) return l[l[0].index(opt)][1]
Отредактировано Serbis (Июнь 24, 2012 14:03:54)
Офлайн
Может его(файл) закрыть нужно по окончанию работы с ним?
Офлайн
newca9hДа вот я тоже думаю проблема в этом, но как это сделать не имея его дескриптора?
Может его(файл) закрыть нужно по окончанию работы с ним?
Офлайн
Нет, проблема оказывается не в этом, так как создал дескриптор файла, закрыл его, а при повторном открытии вылезла та же ошибка.
Офлайн
Нет, проблема оказывается не в этом, так как создал дескриптор файла, закрыл его, а при повторном открытии вылезла та же ошибка.
Офлайн
Знакомый код :) Не надо бездумно копировать то, что вам предложили, не зная о вашей конкретной задаче.
def getConf(filename): with open(filename, 'r') as conf: return dict(opt.split('=', 1) for opt in conf.read().splitlines()) config = getConf('config.conf') # config[opt] = value
Отредактировано fata1ex (Июнь 24, 2012 17:17:29)
Офлайн
Может вы дальше в коде меняете текущую директорию? (os.chdir)
upd:
Убрал код. У fata1ex оптимальный, только в split ограничение добавить.
Отредактировано reclosedev (Июнь 24, 2012 17:13:18)
Офлайн
Блиин, я ведь действительно делаю chdir, да еще в опциях вызываю свою же функцию… Похоже пора заканчивать бухать…
Офлайн
SerbisPython.su. Направляем на путь истинный.
Похоже пора заканчивать бухать…
reclosedevКАК?!
Может вы дальше в коде меняете текущую директорию? (os.chdir)
Офлайн
fata1exТолько на ТНТ! “Экстрасенсы ведут расследование”
КАК?!
Офлайн