f = open('test.txt','r+',encoding='utf-8')

f.flush()        # 刷新

f.readline()
print(f.tell()) # 说明光标位置在哪里 (\r\n 也算两个字节)
print('-------------------------------') f.seek(3) # 在文件test.txt里第一行abc123, 3的位置
print(f.tell())
print(f.read()) f.truncate(10) # 截取

运行结果:

7
-------------------------------
3
13
123 Process finished with exit code 0

seek 方法的补充

1.光标的移动

f = open('test.txt','rb')              # 以2进制的方式
print('目前光标的位置:',f.tell())
print('--------------------') f.seek(10)
print(f.tell())
print('-------------') f.seek(3) # 默认从文件开始计算光标位置
print(f.tell())
print(f.read())
print('-------------') f.seek(10,1) # 相对路径,从上一步的光标位置开始计算10字节
print(f.tell())
print('--------------') f.seek(-10,2) # 从文件末尾位置开始计算10字节
print(f.tell()) # 光标在从前往后数的第40字节的位置
print(f.read()) # 读取现在光标的位置
print('-----------')

运行结果:

目前光标的位置: 0
--------------------
10
-------------
3
b'13\r\n123\r\n\xe4\xbd\xa0\xe5\xa5\xbd\r\nhello,word\r\nqwertyuiop46579813'
-------------
60
--------------
40
b'op46579813'
----------- Process finished with exit code 0

2.想要查看文件的最后一行

f = open('test.txt','rb')
for i in f:
offs = -10
while True:
f.seek(offs,2)
data = f.readlines()
if len(data) >1:
print('文件的最后一行是%s'%(data[-1].decode('utf-8')))
break
offs *= 2

运行结果:

文件的最后一行是2019/7/11/20:56     qwe456

Process finished with exit code 0

python学习-37 其他的文件处理方法的更多相关文章

  1. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  2. Python学习笔记之从文件中读取数据

    10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learnin ...

  3. Python学习(15)文件/IO

    目录 Python 文件I/O 打印到屏幕 读取键盘输入 打开和关闭文件 File对象属性 文件定位 重命名和删除文件 Python的目录 Python 文件I/O 本章只讲述所有基本的的I/O函数, ...

  4. python学习 day07打卡 文件操作

    本节主要内容: 初识文件操作 只读(r,rb) 只读(w,wb) 追加(a,ab) r+读写 w+写读 a+追加写读 其他操作方法 文件的修改以及另一种打开文件句柄的方法 一. 初识文件操作 使用py ...

  5. Python学习之路4 - 文件操作&编码转换

    文件操作 文件操作大概分三步: 把文件打开. 操作文件. 把文件关上. 打开文件 打开文件用open()函数,打开成功后返回一个资源,具体语法如下. open(要打开的文件,打开方式,打开文件的格式, ...

  6. 编写python程序和运行.py文件的方法步骤

    前提:已安装好 Subliume Test 3 且已经添加好python编译系统,已安装好python3.7 一.新建一个文本文档,将后缀名改为.py 二.使用 Subliume Test 3 打开该 ...

  7. python学习12-反射 判断函数与方法(转载)

    一.三个内置函数 1.issubclass(a, b)  判断a类是否是b类的子类 class Foo: pass class Zi(Foo): pass class Sun(Zi): passpri ...

  8. python学习之元组与文件

    元组 元组是最后一个python集合类型.元组由简单的对象构成,元组与列表非常相似,只不过元组不能在原处修改,并且通常写成圆括号,虽然元组部支持任何方法调用,但元组具有列表的大多数属性. 实际应用中的 ...

  9. python学习交流 - 内置函数使用方法和应用举例

    内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...

随机推荐

  1. S1_搭建分布式OpenStack集群_03 Mysql、MQ、Memcached、ETCD安装配置

    一.安装mysql(contorller)controller ~]# yum -y install mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 ...

  2. c++ 字符串相加

    1. append string a= "xxx"; string b="yyy"; a.append(b); 结果 a = “xxxyyy”;

  3. WinDbg常用命令系列---清屏

    .cls (Clear Screen) .cls命令清除调试器命令窗口显示. .cls 环境: 模式 用户模式下,内核模式 目标 实时. 崩溃转储 平台 全部 清屏前 清屏后

  4. cyyz: Day 2 线段树知识整理

    Day 2 上午的听课,哎~昏昏欲睡好吧.. 一.扫描线 知识点: 由于多边形千变万化,要想填充多边形内部的所有像素,需要找到一种合适的规则,能够沿着一个方向,一个像素不漏地把多边形内部填满,同时不污 ...

  5. 括号匹配(POJ2955)题解

    原题地址:http://poj.org/problem?id=2955 题目大意:给出一串括号,求其中的最大匹配数. 我这么一说题目大意估计很多人就蒙了,其实我看到最开始的时候也是很蒙的.这里就来解释 ...

  6. linux命令之------快捷键说明

    linux快捷键说明 (1)命令或目录补齐:Tab (2)遍历历史记录:history 上移:ctrl+p,下移:ctrl+n (3)光标移动 左移:ctrl+b:右移:ctrl+f:移到首部:ctr ...

  7. IDEA中用mybatis插件生成逆向工程

    目录 maven项目 在resources目录下新建generatorConfig.xml文件 在resources目录下新建config.properties文件 运行 maven项目 <?x ...

  8. 设置应用程序的样式并对其进行部署——《Python编程从入门到实践》

    我们将使用应用程序django-bootstrap3为Web应用程序设计样式.我们将把项目"学习笔记"部署到Heroku,这个网站能让我们们将项目推送到其服务器,让任何有网络连接的 ...

  9. JAVA从服务器下载文件根据Url把多文件打包成ZIP下载

    注意: 1. String filename = new String(“xx.zip”.getBytes(“UTF-8”), “ISO8859-1”);包装zip文件名不发生乱码.  2.一定要注意 ...

  10. HBase 介绍

    HBase的列族式存储 列族式存储的概念 HBase Table的组成 Table = RowKey + Family + Column + Timestamp + Value 数据存储模式 (Row ...