首页 新闻 搜索 专区 学院

python的读取文件

0
悬赏园豆:20 [待解决问题]

我现在想要使用open()方法读取一个文件夹的文件,读文件的同时,可能这个文件还在被其他程序正在写入,而且写文件的程序写了一段时间,就会重新建立一个新的文件再写入,那么我的open()怎么能在上一份文件写完了,我就不再读了,而是去读新创建的文件呢?
path="xxxx"
with open(path, "r", encoding='utf-8') as f:
while True:
for line in f.readlines():
print(line)

star====的主页 star==== | 初学一级 | 园豆:127
提问于:2019-11-21 15:29
< >
分享
所有回答(4)
0
小小咸鱼YwY | 园豆:2493 (老鸟四级) | 2019-11-21 15:48
0

这是个应该实现商量的问题,属于工程范畴。

窗户 | 园豆:874 (小虾三级) | 2019-11-21 22:50
0

1.,提供一个思路,你可以吧上一个程序执行的文件路径,传给你现在需要读的程序
2,你可以把执行的程序加状态,他执行另一个文件的时候状态改变,每次读的时候判断这个状态

逐风者的祝福之剑 | 园豆:204 (菜鸟二级) | 2019-12-26 10:07
0

你要读下一个,肯定得知道下一个文件名吧?那就意味着你得知道他的命名规则,有了这个规则,就好办了
先是读第一个文件,每次读完fp.tell()记下当前的指针位置,然后判断指针是不是已经到了文件末
指针到了末尾,也就意味着当前文件读完了,那么就得靠那个命名规则去读下一个
但是,得先判断是否存在这个新文件,
如果存在,在继续做重复的事情。

如果不存在命名规则,那至少得有个规矩可循,比如只会在同一个文件夹内或者固定的某些文件夹内新产生文件,那就得根据时间戳来判断最新的文件是哪个了,哪个文件的时间戳最新,你就读哪个

吔食青年 | 园豆:264 (菜鸟二级) | 2020-06-16 05:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册