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
Python 文件 seek() 方法的更多相关文章
- Python 文件 write() 方法
概述 Python 文件 write() 方法用于向文件中写入指定字符串. 在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的. 语法 write() 方法语法如 ...
- Python 文件 truncate() 方法
概述 Python 文件 truncate() 方法用于截断文件并返回截断的字节长度. 指定长度的话,就从文件的开头开始截断指定长度,其余内容删除:不指定长度的话,就从文件开头开始截断到当前位置,其余 ...
- Python 文件 writelines() 方法
概述 Python 文件 writelines() 方法用于向文件中写入一序列的字符串. 这一序列字符串可以是由迭代对象产生的,如一个字符串列表. 换行需要制定换行符 \n. 语法 writeline ...
- Python 文件 tell() 方法
描述 Python 文件 tell() 方法返回文件的当前位置,即文件指针当前位置. 语法 tell() 方法语法如下: fileObject.tell() 参数 无 返回值 返回文件的当前位置. 实 ...
- Python 文件 readlines() 方法
概述 Python 文件 readlines() 方法用于读取整个文件(所有行)到一个列表,可以由for... in ... 结构进行遍历.列表的每一行变成列表的每一个元素. 语法 readlines ...
- Python 文件 readline() 方法
描述 Python 文件 readline() 方法用于从文件读取整行,包括 "\n" 字符.如果指定了一个非负数的参数,则返回指定大小的字符数,包括 "\n" ...
- Python 文件 read() 方法
概述 Python 文件 read() 方法用于从文件中读取指定的字符数,如果未给定或为负则读取所有. 语法 read() 方法语法如下: fileObject.read([size]) 参数 siz ...
- Python 文件 isatty() 方法
概述 Python 文件 isatty() 方法检测文件是否连接到一个终端设备,如果是返回 True,否则返回 False. 语法 isatty() 方法语法如下: fileObject.isatty ...
- Python 文件 fileno() 方法
描述 Python 文件 fileno() 方法返回一个整型的文件描述符(file descriptor FD 整型),可用于底层操作系统的 I/O 操作. 语法 fileno() 方法语法如下: f ...
随机推荐
- 为什么选择SpringBoot
JavaEE仅仅使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题. Spring Boot解决的问题 (1) Sp ...
- javascript学习网址
教程:JavaScript征途 http://www1.huachu.com.cn/read/readbook.asp?bookid=10109449 教程:JScript 参考 http://msd ...
- centos7没有ifconfig命令
yum search ifconfig 看到 net-tools.x86_64 : Basic networking tools 安装net-tools: yum install net-tools
- VMware Infrastructure 3 in a Cisco Network Environment
http://www.cisco.com/en/US/docs/solutions/Enterprise/Data_Center/vmware/VMware.html
- Window10中创建目录连接点
使用命令: mklink /J "junction point name" "target directory" 如,我有一个文件夹在D:\aa,想存在相同的目 ...
- Stingray验证机制
Filter 系统中的验证使用的是Filter库来完成,利用Filter配置几个属性和参数就实现了表单验证,简化了工作.基本原理很简单,在onload之后按照属性查找元素,然后绑定相应的change/ ...
- ThreadLocal与Synchronized
package com.demo; import org.hibernate.HibernateException; import org.hibernate.classic.Session; imp ...
- JBoss和tomcat的区别
JBoss和tomcat的区别 注意JBoss和tomcat是不一样,JBoss是一个可伸缩的服务器平台,当你的EJB程序编制完成后,如果访问量增加,只要通过增加服务器硬件就可以实现多台服务器同时运算 ...
- Mongodb系列:初识Mongodb
一.背景: 月初进行了期末考试非常荣幸可以參加到了考试系统维护中(详情请阅读:<那些年我们一起參加的活动:15年上半年考试系统维护总结>)!主要负责server维护,在维护期间对Mongo ...
- 解决FatalThrowableError in EloquentUserProvider.php line 126: Class '\App\User'问题
解决方法:http://stackoverflow.com/questions/28516454/laravel-5-user-model-not-found 总结:是因为我把app下的User移动到 ...