![]() | 1 CoX 2012-12-17 15:39:53 +08:00 搞个中间变量存一下 |
2 ritksm 2012-12-17 15:44:17 +08:00 ![]() .seek(tell()-1)?.... |
3 ritksm 2012-12-17 15:44:58 +08:00 不过中间变量好像方便些... |
4 ritksm 2012-12-17 15:46:01 +08:00 ![]() 不对。。。忽略第一条。。。那个貌似是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 ![]() 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支持回退么。 |