趣文网 > 作文大全

柳小白Python学习笔记 13 文件指针操作

2020-12-01 22:25:01
相关推荐

昨天遗留了个小问题“open()函数的“w+”模式下可以调用read方法。但是运行结果是空白,是怎么回事呢?”

这是因为使用write( )方法后,文件指针会停留在文本尾末,我们需要把指针移动到文本的开头,再读取。这就要用到seek() 方法,用于移动文件指针到指定位置。把昨天的程序加入seek() 方法看一下。

上面用到了seek() 方法,它的语法格式如下:

语法:file.seek(offset,[whence])。有两个参数

offset:开始的偏移量,即偏移的字节数。中文一个字符是3个字节。

whence:默认值为0,表示要从哪个位置开始偏移。0代表从文件开头开始算起;1代表从当前位置开始算起;2代表从文件末尾算起。查资料说whence=1和whence=2只能在二进制模式下使用。没有学习二进制的内容,只对默认值为0的参数做验证。

学到这里,我很好奇怎么知道文件指针到底在什么位置呢?用什么方法查看指针偏移到指定位置了吗?

百度了一下,使用tell()方法可以获取文件指针的当前位置,它的语法格式file.tell()。

下面就用seek() 方法移动文件指针,再用tell()方法获取当前指针的位置吧。

1.1 使用open函数的“w+”创建num_3.txt,并写入“文件指针到底在哪里”。用tell()方法获取创建文件后及写入内容后,文件指针分别在什么位置。

由上图可以看出,创建文件后,文件指针位置为0,表示指针在文件开头;写入内容后指针位置为27(这句话27个字节),表示在指针文件的末尾。

1.2 沿用1.1的例子,使用seek() 方法移动指针位置,把whence参数为默认值0。

然后用read()方法读取指针偏移后的内容。

从上图可以看出让指针偏移到0的时候,就是指针移动到开头,可以读取整个文本。指针偏移到3的时候从第二个字符开始读取文本。

1.3 继续沿用1.1的例子,现在把指针偏移数设置为不是3的倍数会怎么样呢?

从上面的例子可以看出,指针偏移数不是3的倍数也能获取指标位置,但读取时会出错,告诉是无效字节。也对呀,总不能把汉字批成几瓣来显示吧。

今天就学习到这吧,本来是要学习read( )函数的,结果光文件指针就学习了这么长的时间。

想了解更多精彩内容,快来关注一直在学习的柳芽儿

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

煎鸡蛋的作文 我的理想大学作文 三年级作文包饺子 拒绝作文600字 游长沙作文 关于行动的作文 假期趣事的作文 我眼中的中国作文 有关努力的作文 楚才作文竞赛 有趣的植物作文 英语通知作文 三角梅的作文 读后感的作文怎么写 人生的路作文 我与有个约定作文 祝贺信英语作文 喂鱼作文 满分作文300字 我家的院子作文 不一样的风景作文 不会写作文怎么办 渴望作文500字 关于追星的作文 六年级作文350字 优秀作文1000字 关于美术的作文 三年级同步作文上册 三年级写事的作文 挫折作文开头结尾