1
CoX 2012-12-17 15:39:53 +08:00
搞个中间变量存一下
|
2
ritksm 2012-12-17 15:44:17 +08:00 1
.seek(tell()-1)?....
|
3
ritksm 2012-12-17 15:44:58 +08:00
不过中间变量好像方便些...
|
4
ritksm 2012-12-17 15:46:01 +08:00 1
不对。。。忽略第一条。。。那个貌似是offset的不是行- -囧
|
6
unfurl 2012-12-17 16:02:34 +08:00
for n, line in enumerate(open(file, 'r').readlines())
|
7
likuku 2012-12-17 16:15:48 +08:00 1
open()打开的文件对象没找到index属性,但可以转换为list对象后就可以使用index()来获得当前元素对应的index,当然也可以直接使用list[index]来访问当前元素,或者list[index-1]来访问前一个元素.
line_src = open ("t") line_list = line_src.readlines() for line in line_list: index_currnet_line = line_list.index(line) if index_currnet_line > 0: last_line = line_list[index_currnet_line-1] |
10
geekard 2012-12-17 16:54:16 +08:00
for line in open(*),这里的open()生成的是匿名文件对象,没法直接引用,能获得的就是下一行内容。即使有文件对象f,还需要知道上一行的字符数,这样才能seek()去。
|
11
ivenvd 2012-12-17 17:28:17 +08:00
记得 open(*) 在这种语境已经返回迭代器而不是文件对象了,所以只能中间变量了吧。
|
12
xuwenbao 2012-12-18 08:59:33 +08:00
>>> import linecache
>>> linecache.getline('/etc/passwd', 4) 'sys:x:3:3:sys:/dev:/bin/sh\n' |
13
sykp241095 2012-12-18 17:14:10 +08:00
请问iterator支持回退么。
|