Как проверить, указывают ли два файловых указателя на один и тот же файл.
>>> fp1 = open("/data/logs/perf.log", "r")
>>> fp1
<open file '/data/logs/perf.log', mode 'r' at 0x7f5adc07cc00>
>>> fp2 = open("/data/logs/perf.log", "r")
>>> fp2
<open file '/data/logs/perf.log', mode 'r' at 0x7f5adc07cd20>
>>> fp1 == fp2
False
>>> fp1 is fp2
False
Мой вариант использования - я наблюдаю за изменениями в файле и что-то делаю, ноlogback переворачивает этот файл на старую дату и создает новый файл.Но переменная указателя файла в python по-прежнему указывает на старый файл.Если fp1 != fp2
, я бы хотел обновить fp1
до нового файла.
Почему .name
не работает?Когда я пытался,
mv /data/logs/perf.log /data/logs/perfNew.log
echo abctest >> /data/logs/perfNew.log
даже тогда имя все еще старое.
>>> fp1.readline()
'abctest\n'
>>> fp1.name
'/data/logs/perf.log'