渣渣在此 发表于 2020-7-6 18:41:53

python中seek(offset[,from])

我在读取文件10个字符之后,指针指向14,seek(offset[,from]),from参数默认是0文件起始,1是当前,2是结尾。   
我想把指针从当前调到开始,seek(0,0)可以,我试过了。   但是seek(-14,1),我的理解是从当前位置1,
向前移动14个字节位置,错误提示can't do nonzero cur-relative seeks(不能做非零的相对求)我的交互模式已经红成一片了,
百度的例子没有符合的。 求大佬指点

Twilight6 发表于 2020-7-6 18:46:35



报错已经告诉你了 错误提示can't do nonzero cur-relative seeks(不能做非零的相对求)

所以这应该就算是语法规则了,记住即可吧

Twilight6 发表于 2020-7-6 19:40:10



举个例子,你输入错误的一个语法,Python 提示了你:invalid syntax

而你来问,为什么 这个是个错误语法一样的道理,编程,就是要我们去遵循他的语法规则才可行

wp231957 发表于 2020-7-6 20:01:16

Twilight6 发表于 2020-7-6 18:46
报错已经告诉你了 错误提示can't do nonzero cur-relative seeks(不能做非零的相对求)

所以这应该 ...

T版回复出现大漏,
楼主的问题明显是另有隐情,比如它的总长度为10和或者当前位置为10,那么要往前移动14个字节,系统估计会懵
至于负偏移,这是绝对允许的

Twilight6 发表于 2020-7-6 20:03:44

wp231957 发表于 2020-7-6 20:01
T版回复出现大漏,
楼主的问题明显是另有隐情,比如它的总长度为10和或者当前位置为10,那么要往前移动1 ...



你自己去测试下吧,只要是负数都会报错 io.UnsupportedOperation: can't do nonzero cur-relative seeks 的哈~


Twilight6 发表于 2020-7-6 20:06:25

wp231957 发表于 2020-7-6 20:01
T版回复出现大漏,
楼主的问题明显是另有隐情,比如它的总长度为10和或者当前位置为10,那么要往前移动1 ...



file.seek(offset[, whence])中
offset如果想要为负数的话,只能是对二进制文件操作,如果是文本文件,将会报错


渣渣在此 发表于 2020-7-6 20:32:17

C:\Users\Administrator\Desktop\QQ图片20200706202744.png
在指针当前位置移动指针,需要在2进制模式下打开才可以操作。
页: [1]
查看完整版本: python中seek(offset[,from])