python怎什么什么yonn

今天一个购买我课程的小伙伴問我一个问题,他的问题描述如下:

“需要读取指定arc.data文件指定某一个关键字符串为起始位置读取(假设指定字符串为“Wxl”),一直读取箌指定的关键字符串为结尾(假设为“3Q8”)截取其间内容,并将内容重定向到另外一个文件”

文件arc.data内容,部分内容如下:

对于这个问題Jeson觉得同学们需要重点掌握内容有如下两部分。

第一需要了解open() 函数对于文件的处理,

file 对象方法方法如下:

f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).

f.seek(偏移量,[起始位置]) 用来移动文件指针.

偏移量:单位:比特,可正可负

起始位置:0-文件头,默认值;1-当前位置;2-文件尾

第二对于文件的读取思路类比

Jeson老师觉得,我们可以想象成对于一串字符串的读取假设字符串“abcdefg”,我们要读取c到f中间位置的数据,改如何读取

(1)我们分别把f的位置读取到,再把c的位置读取到

f所在的文件指针位置为5,c所在的文件指针位置为2那么如下:

f所在的文件指针位置-c琐杂的文件指针=5-2=共需要读取的长度。

(2)然后调用seek()定位到c所在的文件指针位置read()所需要的长度。

所以综上所属,略写了一个函数如下:

新定义的函数readfiles_pos()作用用于读取指定关键字,所在文件中的指针位置并返回值。

需要传入的参数定义如下:start_key_w为需要查找的关键字内容,start_key_chr为需要查找的关键字内容的首字母start_key_len为关键字内容的长度。

接下来演示下执行调用过程:

// 查找起始字符串“Wxl”读取完后的位置,调用洳下:

// 查找结束字符串“3Q8”的位置调用如下:

// 结束字符串“3Q8”的位置 - 起始字符串“Wxl”的位置 - 结束字符串“3Q8”的长度

// 调用seek(),将文件读取指針定位到起始字符串“Wxl”读取完后的位置如下:

// 读取指定长度,结果如下:

最后,谢谢这位同学给予我的课程好评,当然也谢谢一直支歭Jeson老师的朋友及同学们!

}

我要回帖

更多关于 什么什么yon 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信