我现在想要使用open()方法读取一个文件夹的文件,读文件的同时,可能这个文件还在被其他程序正在写入,而且写文件的程序写了一段时间,就会重新建立一个新的文件再写入,那么我的open()怎么能在上一份文件写完了,我就不再读了,而是去读新创建的文件呢?
path="xxxx"
with open(path, "r", encoding='utf-8') as f:
while True:
for line in f.readlines():
print(line)
这是个应该实现商量的问题,属于工程范畴。
1.,提供一个思路,你可以吧上一个程序执行的文件路径,传给你现在需要读的程序
2,你可以把执行的程序加状态,他执行另一个文件的时候状态改变,每次读的时候判断这个状态
你要读下一个,肯定得知道下一个文件名吧?那就意味着你得知道他的命名规则,有了这个规则,就好办了
先是读第一个文件,每次读完fp.tell()记下当前的指针位置,然后判断指针是不是已经到了文件末
指针到了末尾,也就意味着当前文件读完了,那么就得靠那个命名规则去读下一个
但是,得先判断是否存在这个新文件,
如果存在,在继续做重复的事情。
如果不存在命名规则,那至少得有个规矩可循,比如只会在同一个文件夹内或者固定的某些文件夹内新产生文件,那就得根据时间戳来判断最新的文件是哪个了,哪个文件的时间戳最新,你就读哪个