下面三段代码中的值怎么不一样呢?(1)myfile=open('filename.txt','w+')myfile.write('My name is ella')myfile.seek(10)print myfile.readlines()myfile.close()#运行结果为 [' ella'](2)myfile=open('filename.txt','w')myfile.write('My name is elle')myfile.seek(10)myfile.close()myfile=open('filename.txt','r')print myfile.readlines()myfile.close()#运行结果为:['My name is ella'](3)myfile=open('filename.txt','w')myfile.seek(10)myfile.write('My name is elle')myfile.close()myfile=open('filename.txt','r')print myfile.readlines()myfile.close()#运行结果为['\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00My name is ella']Udonotloveme 您好,不好意思,因为刚学习,所以还是没怎么明白,为什么同样是seek(10),第(1)段代码读到的是第11位以后的字符,但第(2)和(3)读到的还是全部字符呢?对于(1)我open了文件,还没有写东西,就seek(N),这里就会相当于有N个空格?对于(2)我执行了seek(N),才执行的read,读到的怎么是全部的字符呢,之前的seek没起作用?怎么不是从第11位开始读?而对于(3)之前seek(N)后面读的时候,之前的seek又起了作用的。麻烦回复细点哈,万分感谢!
3 回答
![?](http://img1.sycdn.imooc.com/533e4d5b0001d57502200203-100-100.jpg)
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
seek是移动索引的函数,默认是从开始,即0模式的
前两个好理解,最后一个也不难,打开文件的时候,文件时一片干净的缓冲区,所以充塞了null字符,就是\x00,你索引移动10格,自然是跳过了10个null字符,所以前面有10个\x00了
添加回答
举报
0/150
提交
取消