首页新闻找找看学习计划

如何做到不重复读文件,或者记录文件读的位置信息?

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

我现在在使用python写一个读文件的程序,使用with open(),逐行读取,但是有个问题,当我读的文件列表里有多个文件,而我读到一半时,读文件的程序突然挂掉了,那么当我想要重新运行读文件的程序时,怎么能做到从刚才已经读到文件开始读,而不是重头再读文件的列表,造成了重复读取数据,或者我们记录一下当我的程序运行的时候,正在读的文件的位置,从而当我第二次启动程序时,可以通过读之前的记录位置,继续从上次读到的位置开始读?

star====的主页 star==== | 初学一级 | 园豆:127
提问于:2019-11-27 16:49
< >
分享
所有回答(4)
0

每次读取,把读取位置存下来呗,写到文件里

yytxdy | 园豆:978 (小虾三级) | 2019-11-27 16:58

我知道这个思路,但是这样所有读的文件不都记录到文件里了,那么我再次启动时读这个文件不也是从头开始读的吗,我想请教下能不能说的详细点,或者举个例子

支持(0) 反对(0) star==== | 园豆:127 (初学一级) | 2019-11-27 17:04
0

自定义配置文件作为记录存储,记录每次读取到的文件列表。,比如可以用XML或者数据库存储记录。

雨之秋水 | 园豆:644 (小虾三级) | 2019-11-27 17:01

还可以使用xml文件配置?这个python里也可以使用吗,大佬可以具体点吗,菜鸟不知道怎么入手啊

支持(0) 反对(0) star==== | 园豆:127 (初学一级) | 2019-11-27 17:06
0

因为我是有java开发的,java中有个方法List<String> s = Files.readAllLines();读取全部文件内容到List中,而不是一行一行的读。这样就可以避免逐行读取时因为网络的问题。希望python中也有这种方法吧

超人小冰 | 园豆:226 (菜鸟二级) | 2019-11-28 12:09

我的问题不是逐行读取和一次读入内存的问题,而是我需要在读取文件的时候记录下读取的位置信息,这样在我的程序挂掉之后或者程序退出后再次运行,能从上次读到的位置开始读文件或者读取文件中的行,而不是每次程序运行时都从头开始读取文件列表,这样我就会产生前面的文件被多次重复读取。

支持(0) 反对(0) star==== | 园豆:127 (初学一级) | 2019-11-28 13:00
1

你更需要解决为何程序会挂掉的问题.

codegay | 园豆:1786 (小虾三级) | 2019-12-17 03:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册