Python学习之seek函数

使用pydoc -p 【端口号】(Windows下为python -m pydoc -p [端口号]) 命令可以将pydoc服务器接入到某一端口如55555,然后通过浏览器访问http:://localhost:55555 即可集成访问pydoc文档

file.seek(off, whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。

示例代码如下(笨方法学Python第20章节):

from sys import argv
script, file = argv

def print_file(f):
    print f.read()

def rewind(f):
    f.seek(0)#put the pointer at the beginning

def print_oneline(line_count,f):
    print line_count, f.readline()

current_file = open(file)
print "First,let's print the whole file:\n"
print_file(current_file)

print "the current pointer is at " , current_file.tell()

print "Now,let's rewind,kind of like a tape"
#rewind(current_file)
current_file.seek(31,0)
#put the pointer at 31 ,which is the start of the second line



print "Let's print three lines"
current_line = 1
print_oneline(current_line,current_file)
print "the current pointer is at " , current_file.tell()
current_line += 1
print_oneline(current_line,current_file)
print "the current pointer is at " , current_file.tell()
current_line = current_line + 1
print_oneline(current_line,current_file)
print "the current pointer is at " , current_file.tell()

示例结果
readline() 函数返回的内容中包含文件本来就有的 \n,而 print 在打印时又会添加一个 \n,这样一来就会多出一个空行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值