2015-02-17 3 views
0

Я искал ответ, который не смог его получить.доступ к файлам в python

У меня есть следующий код,

filePointer = open(r'c:\temp\logFile.txt', 'w') 
filePointer.write(str(datetime.datetime.now()) + 'entered into table \n') 

, но прежде чем я ввести эту строку в файл, я хочу, чтобы проверить, если она уже присутствует в нем. Я могу прочитать файл и сравнить строки и все, но я ищу лучший способ, помогите мне, если они есть.

+0

В чем ОС, на которой вы работаете? – alfasin

+0

Возможно, простой текстовый файл не тот, который вы ищете. –

+0

Лучше с точки зрения чего? – taesu

ответ

0

Shrinidhi,

Я считаю, что это то, что вы ищете. Сначала вам не нужно использовать 'w' по адресу open, так как это приведет к новой записи в файл для замены текущего содержимого. Вместо этого вы должны использовать 'a' или 'a+', чтобы добавить файл. См. Код ниже:

from datetime import datetime 

line_to_add = 'def' 

with open('file.txt', 'a+') as openfile: 
    if not (item for item in openfile if line_to_add not in line): 
     openfile.write(str(datetime.now()) + " " + line_to_add + ' \n') 

Это проверит, находится ли строка в файле. Если его нет, он добавит его с отметкой времени.

Вам нужно будет сравнить строку, но в аренде используется генератор для этого.

Смежные вопросы