Python 文件 seek() 方法

概述

Python 文件 seek() 方法用于移动文件读取指针到指定位置。

语法

seek() 方法语法如下:

fileObject.seek(offset[,whence])

参数

  • offset -- 偏移量,也就是代表需要移动偏移的字节数,注意是按照字节算的,字符编码存每个字符所占的字节长度不一样。

       如“路飞学城” 用gbk存是2个字节一个字,用utf-8就是3个字节,因此以gbk打开时,seek(4) 就把光标切换到了“飞”和“学”两个字中间。
       但如果是utf8,seek(4)会导致,拿到了飞这个字的一部分字节,打印的话会报错,因为处理剩下的文本时发现用utf8处理不了了,因为编码对不上了。少了一个字节。

  • whence:可选,默认值为 0。表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

返回值

该函数没有返回值。

实例

以下实例演示了 seek() 方法的使用:

文件 runoob.txt 的内容如下:

1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com

循环读取文件的内容:

#!/usr/bin/python3

# 打开文件
fo = open("runoob.txt", "r+",encoding="utf-8")
print ("文件名为: ", fo.name)

line = fo.readline()
print ("读取的数据为: %s" % (line))

# 重新设置文件读取指针到开头
fo.seek(0,0)
line = fo.readline()
print ("读取的数据为: %s" % (line))

# 关闭文件
fo.close()

以上实例输出结果为:

文件名为:  runoob.txt
读取的数据为: 1:www.runoob.com

读取的数据为: 1:www.runoob.com

原文地址:https://www.cnblogs.com/wushuaishuai/p/8510644.html

时间: 2024-08-01 23:05:07

Python 文件 seek() 方法的相关文章

Python 文件 truncate() 方法

概述 Python 文件 truncate() 方法用于截断文件并返回截断的字节长度. 指定长度的话,就从文件的开头开始截断指定长度,其余内容删除:不指定长度的话,就从文件开头开始截断到当前位置,其余内容删除. 语法 truncate() 方法语法如下: fileObject.truncate([size]) 参数 size -- 可选,如果存在则文件从开头截断为指定字节. 返回值 该方法没有返回值. 实例 以下实例演示了 truncate() 方法的使用: 文件 runoob.txt 的内容如

Python 文件 write() 方法

概述 Python 文件 write() 方法用于向文件中写入指定字符串. 在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的. 语法 write() 方法语法如下: fileObject.write(str) 参数 str -- 要写入文件的字符串. 返回值 该方法没有返回值. 实例 文件 runoob.txt 的内容如下: 1:www.runoob.com 2:www.runoob.com 3:www.runoob.com 4:www.runoob.co

Python 文件 read() 方法

概述 Python 文件 read() 方法用于从文件中读取指定的字符数,如果未给定或为负则读取所有. 语法 read() 方法语法如下: fileObject.read([size]) 参数 size -- 从文件中读取的字符数,包括 "\n" 字符. 返回值 返回从字符串中读取的字符. 实例 以下实例演示了 read() 方法的使用: 文件 runoob.txt 的内容如下: 这是第一行 这是第二行 这是第三行 这是第四行 这是第五行 循环读取文件的内容: #!/usr/bin/p

Python 文件 writelines() 方法

概述 Python 文件 writelines() 方法用于向文件中写入一序列的字符串. 这一序列字符串可以是由迭代对象产生的,如一个字符串列表. 换行需要制定换行符 \n. 语法 writelines() 方法语法如下: fileObject.writelines(iterable) 参数 iterable -- 可迭代对象(字符串.列表.元祖.字典). 返回值 该方法没有返回值. 实例 以下实例演示了 writelines() 方法的使用: #!/usr/bin/python3 # 打开文件

Python 文件writelines() 方法和处理双层列表

概述 writelines() 方法用于向文件中写入一序列的字符串. 这一序列字符串可以是由迭代对象产生的,如一个字符串列表. 换行需要制定换行符 \n. 语法 writelines() 方法语法如下: fileObject.writelines( [ str ]) data = ['a','b','c'] with open("data.txt","w") as f: f.writelines(data) 输出:  对于双层列表中的数据 data = [ ['a'

python文件问题

文件操作方法 1. 编码方式: 在操作文件的时候,指定文件的编码方式(#encoding = 'utf -8') 就相当于改变了读取文件编码的格式 文件中还有一个方法: print(文件名.enconding)  #就相当于输出文件的编码方式 2. 文件跳转光标 #当第一次读文件的时候,是在文件最头部的字符时候开始,当第一次读取的时候,当读取完毕的时候,再读取就是在文件光标就是在文件最后的字符.当再次读取什么东西都读取不到,所以是空的. 这里涉及到俩个文件操作的方法 #文件名.seek(指定字符

Python文件方法

打开文件 使用open函数,语法格式为:open( name[, mode[, buffering]]),name为打开文件名,mode为打开文件方式,buffering控制文件的缓冲. mode可选,默认为只读模式,即r, 其中使用的参数有 open函数中mode参数的值 值 描述 r 读 w 写 a 文件末尾追加 b 二进制模式,可添加到其他模式中 + 读/写模式,可以添加到其他模式中 buffering可选,0表示输入输出无缓冲: 1表示有缓冲, 使用内存来代替硬盘,只有使用flush或者

python 文件操作seek() 和 telll() 自我解释

python 文件操作seek() 和 telll()  自我解释 file.seek()方法格式: seek(offset,whence=0)   移动文件读取指针到制定位置 offset:开始的偏移量,也就是代表需要移动偏移的字节数. whence: 给offset参数一个定义,表示要从哪个位置开始偏移:0代表从文件开头算起,1代表开始从当前位置开始算起,2代表从文件末尾开始算起.当有换行时,会被换行截断.                        seek()无返回值,故值为None

Python 之 h5py 读取 matlab 中 .mat 文件 cell 方法浅析

采用 Python 读取 matlab 中 .mat文件的方法有很多,中外文的论坛上都不少,相关博文 可见:Python 从 mat 文件的读写和存储 到 h5py 文件包. 详址:http://blog.csdn.net/u013630349/article/details/47090299 但是,在读取matlab文件的时候,往往不是一层 .mat 就足以解决问题的,.mat 文件中可能是存放的 cell(100*200) 数据, cell(100*200)数据中又分为多个 cell .那么