from sys import argv
script, input_file = argv
def print_all(f):
print f.read()
def rewind(f):
f.seek(0)
def print_a_line(line_count, f):
print line_count, f.readline()
current_file = open(input_file)
print "First let's print the whole file:\n"
print_all(current_file)
print "Now let's rewind, kind of like a tape."
rewind(current_file)
print "Let's print three lines:"
current_line = 1
print_a_line(current_line, current_file)
#current_line += 1
current_line = current_line + 1
print_a_line(current_line, current_file)
#current_line += 1
current_line = current_line + 1
print_a_line(current_line, current_file)
'''
Test Result:
First let's print the whole file:
this is line 1
this is line 2
this is line 3
this is line 4
Now let's rewind, kind of like a tape.
Let's print three lines:
1 this is line 1
2 this is line 2
3 this is line 3
'''
| seek(...)
| seek(offset[, whence]) -> None. Move to new file position.
|
| Argument offset is a byte count. Optional argument whence defaults to
| 0 (offset from start of file, offset should be >= 0); other values are 1
| (move relative to current position, positive or negative), and 2 (move
| relative to end of file, usually negative, although many platforms allow
| seeking beyond the end of a file). If the file is opened in text mode,
| only offsets returned by tell() are legal. Use of other offsets causes
| undefined behavior.
| Note that not all file objects are seeable.
seek函数是Python中操作文件游标移动操作的函数,用法如下
seek(offset,whence=0)
offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。