python 文件指针及文件覆盖
1、文件纯净模式延伸
r+t:可读、可写 w+t:可写、可读
with open('b.txt','w+t',encoding='utf-8') as f:
print(f.readable())
print(f.writable())
a+t:可追加写、可读 2、控制文件指针移动
方法:f.seek(offset,whence)
offset代表文件指针的偏移量,单位是字节bytes
whence代表参照物,有三个取值
(1)0:参照文件的开头
(2)1:参照当前文件指针所在的位置
(3)2:参照文件末尾
PS:快速移动到文件末尾f.seek(0,2)
强调:其中whence=1和whence=2只能在b 模式下使用
with open(r'rrf.txt','r+b')as f:
# f.readlines()
# f.seek(6,0) #从开头移动6个字节
# print(f.readline().decode('UTF-8') )
# print(f.tell() )
# with open(r'rrf.txt', 'r+b')as f:
# f.readline()
# f.seek(9,1) #从当前指针位置移动9个字节
# print(f.readline() .decode('UTF-8') )
with open(r'rrf.txt', 'r+b')as f:
f.seek(-5,2) #指针在末尾,往前读5个字节
print(f.read() .decode('UTF-8') )
print(f.tell())
3、文件覆盖(修改)方法
(1)在原文件上进行修改操作,再写入原文件
优点:只有一个文件
缺点:如果文件过大会占用内存资源
with open('rrf.txt','r',encoding= 'UTF-8')as f :
x=f.read()
x.replace('我的','qqc') #修改内容
with open('rrf.txt','w',encoding= 'UTF-8')as f:
f.write(x ) (2)将原文件内容修改后写入新的文件,再改名
优点:同一时刻只有一行内容在内存
缺点:有两个文件
import os with open('rrf.txt','r',encoding= 'UTF-8')as f,\
open('bbt','w',encoding='UTF-8' )as f1:
for x in f:
f1.write(x.replace('半倚深秋','qq')) os.remove('rrf.txt') # 删除老文件
os.rename('bbt','rrf.txt') #把新文件名字改成老文件名字
python 文件指针及文件覆盖的更多相关文章
- 02-IOSCore - NSFileHandle、合并文件、文件指针、文件查看器
[day0201_NSFileHandle]:文件句柄 1 NSFileHandle 文件对接器.文件句柄 常用API: - (NSData *)readDataToEndOfFile;读取数据到最后 ...
- Java-->利用文件指针分割文件
--> 大体上和字节流分割的方式没什么区别,只是加入文件指针确定要开始分割的位置... package com.dragon.java.splitmp3; import java.io.File ...
- Linux下的文件操作——基于文件指针的文件操作(缓冲)
目录操作 创建和删除目录: 原型为: #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> ...
- python3 文件读写操作中的文件指针seek()使用
python中可以使用seek()移动文件指针到指定位置,然后读/写.通常配合 r+ .w+.a+ 模式,在此三种模式下,seek指针移动只能从头开始移动,即seek(x,0) . 模式 默认 写方式 ...
- Python(三)——文件操作
在我们用语言的过程中,比如要往文件内进行读写,那么势必要进行文件操作,那么咋操作呢?用眼睛直接看么?今天就定个小目标,把文件读写那些事扯一扯 文件操作 把大象放进冰箱分几步? 第一步:打开冰箱 第二步 ...
- python应用:TXT文件的读写
python读写TXT文件不需要导入包 python中常用的读写方式: 文件打开模式 描述 r 以只读模式打开文件,并将文件指针指向文件头:如果文件不存在会报错 w 以只写模式打开文件,并将文件指针指 ...
- Python基本语法_文件操作_读写函数详解
目录 目录 软件环境 file文件对象 open文件操作 读文件 read读取所有文件内容 readline获取一行内容 readlines读取所有文件内容 readreadlinereadlines ...
- python 读写文件和设置文件的字符编码
一. python打开文件代码如下: f = open("d:\test.txt", "w") 说明:第一个参数是文件名称,包括路径:第二个参数是打开的模式mo ...
- python学习第十八天 --文件操作
这一章节主要讲解文件操作及其文件读取,缓存,文件指针. 文件操作 (1)文件打开:open(filepath,filemode) filepath:要打开文件的路径 filemode:文件打开的方式 ...
随机推荐
- 51 Nod 1256 乘法逆元(数论:拓展欧几里得)
1256 乘法逆元 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K ...
- GAN-生成对抗网络原理
最近一直在看GAN,我一直认为只有把博客看了一遍,然后再敲一遍.这样才会有深刻的感悟. GAN(生成式对抗网络)(GAN, Generative Adversarial Networks )是一种深度 ...
- Android实时取景:用SurfaceView实现
对于基于摄像头的Android应用,实时取景是一个基本前提,通过前置或后置摄像头持续获取捕获到的内容,可以进一步做处理(人脸检测.美颜.滤镜等). 所谓实时取景,简单说就是调用android的摄像头, ...
- SQLServer 常见高CPU利用率原因
1.缺失索引: USE AdventureWorks2014 SET STATISTICS TIME ON; SET STATISTICS IO ON ; SELECT per.FirstName,p ...
- MongDb介绍及简单实用
一:介绍 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mongo使用C ...
- Windows Server 2008/2012 计划任务配置执行bat
首先Windows Server 2008不同于其他服务器操作系统和Windows Server 2003有着很大的区别,计划任务的名称是“任务计划程序”不在控制面板里,而是在“管理工具”里.由于服务 ...
- vi/vim键盘对应图
来源:http://www.runoob.com/linux/linux-vim.html
- jQuery 核心 - noConflict() 方法[避免冲突的方法]
定义和用法 noConflict() 方法让渡变量 $ 的 jQuery 控制权. 语法 jQuery.noConflict([removeAll]) 参数描述removeAll布尔值.指示是否允许彻 ...
- MySQL Windows 下的安装
my.ini ####################配置文件开始################### # For advice on how to change settings please s ...
- MVC5干货篇,目录和路由
MVC目录结构概述 文件夹或文件 描述 备注 /App_Data 此文件夹用于存放私有数据,如XML,或者SQL Server Express\SQLite的数据库文件,或其他基于文件的存储库 IIS ...