У меня есть приложение Django, которое открывает файл, непрерывно читает его и одновременно записывает данные в базу данных Postgres. Моя проблема в том, что всякий раз, когда я открываю файл,
file = open(filename, 'r')
Я также не могу создавать новые вещи в базе данных,
Message.objects.create_message(sys, msg)
Это должно создать запись в базе данных с двумя строками. Однако, похоже, ничего не происходит, и я получаю без ошибок :( Если я решу закрыть файл, file.close()
, прежде чем я пишу в базу данных, все в порядке. Моя проблема в том, что мне нужен этот файл, чтобы создать мои объекты . У кого-нибудь есть решение для этого? Спасибо.
EDIT
Вот еще немного моего кода. По сути, у меня есть следующий фрагмент кода после конца файла и последующей записи в базу данных при получении информации.
file.seek(0,2)
while True:
line = file.readline()
if not line:
time.sleep(1)
continue
Message.objects.create_message(sys, line)
РЕДАКТИРОВАТЬ 2
Наконец-то это сработало, но я не знаю почему. Я хотел бы понять, почему это сработало:
str1ng = line[0:len(line)-1]
Message.objects.create_message(sys, str1ng)
Некоторые различия между этой строкой и строкой, собранной из file.readline ().
Есть идеи?