我该如何检查两个文件指针是否指向同一个文件。
>>> 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'