import os
import sys
from time import sleep
soft = 'link.lnk'
fd_soft = open(soft, 'a');
i = 0;
while 1:
try:
line = 'the count is %d' %(i)
print line
fd_soft.write(line);
i += 1;
sleep(1);
fd_soft.flush()
except KeyboardInterrupt:
print "interrupt ctrl c"
fd_soft.close()
sys.exit(0)
link.lnk是old.txt文件的软链接。 该脚本打开软链接并每秒向其写一个数字 在运行时,我将link.lnk更改为使用
指向新文件ln -sf new.txt link.lnk
因为我想写入new.txt,但该过程仍然继续写入旧文件。
答案 0 :(得分:1)
您仍在使用在更改符号链接之前打开的旧文件句柄。如果要在新的符号链接中反映新的写入,则需要在每次写入之前重新打开文件句柄,并在每次写入后将其关闭。