利用Python在一个文件的头部插入数据的实例

在一个文件的末尾追加数据是很常用的。在使用过程中应该都比较熟悉不会出现什么错误。但是往一个文件头部插入数据可能或多或少会碰到一些问题。

看似正确的错误代码

很多代码看似正确,但是其实都是错的。一起来看下这些代码

1、看似正确的错误代码1

with open(path, "r+") as f:
   f.seek(0)
   f.write(data)

确实是从头写了,而且有些原有数据确实在,但是数据有问题。。。。

因为”r+”方式写文件操作没有插入的语义,只有写文件的含义,原来位置如果有数据,不会后移的,是覆盖掉了。。。。所以,你可能会看到一些老的数据。不仔细辨别可能就天真地以为成功了。。。

2、看似正确的错误代码2

with open(path, "w+") as f:
   old = f.read()
   f.seek(0)
   f.write(data)
   f.write(old)

你读取到的数据永远为空。。。。

因为”w+”的含义就是截取长度为0然后写入文件。

3、看似正确的错误代码3

with open(path, "a+") as f:
   old = f.read()
   #f.truncate(0)      #取消掉注释成正确代码
   f.seek(0)
   f.write(data)

写入的数据永远出现在文件末尾。。。。。

要打破魔咒的话要先将文件截断成0字节。。。。

snack:想要”a+”的效果变”r+”,在读之前先seek(0),在写之前要truncate一下,确保要写入的位置是文件的末尾。

正确的代码

with open(path, "r+") as f:
   old = f.read()
   f.seek(0)
   f.write(data)
   f.write(old)

原理思路:读出原有文件内容,移动索引到开始,写入新的数据,然后写入旧的数据。

以上这篇利用Python在一个文件的头部插入数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Python创建文件和追加文件内容实例
  • python插入数据到列表的方法
  • Python读写txt文本文件的操作方法全解析
(0)

相关推荐

  • Python读写txt文本文件的操作方法全解析

    一.文件的打开和创建 >>> f = open('/tmp/test.txt') >>> f.read() 'hello python!\nhello world!\n' >>> f <open file '/tmp/test.txt', mode 'r' at 0x7fb2255efc00> 二.文件的读取 步骤:打开 -- 读取 -- 关闭 >>> f = open('/tmp/test.txt') >>&

  • Python创建文件和追加文件内容实例

    一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行: 复制代码 代码如下: #python >>>f=open('f.txt','w')    # r只读,w可写,a追加 >>>for i in range(0,10):f.write(str(i)+'\n') .  .  . >>> f.close() 二.文件内容追加,从0到9的10个随机整数: 复制代码 代码如下: #python >>>import ran

  • python插入数据到列表的方法

    本文实例讲述了python插入数据到列表的方法.分享给大家供大家参考.具体如下: list = ["red","green"] list.insert(1,"blue") assert list == ["red","blue", "green"] 希望本文所述对大家的Python程序设计有所帮助.

  • 利用Python在一个文件的头部插入数据的实例

    在一个文件的末尾追加数据是很常用的.在使用过程中应该都比较熟悉不会出现什么错误.但是往一个文件头部插入数据可能或多或少会碰到一些问题. 看似正确的错误代码 很多代码看似正确,但是其实都是错的.一起来看下这些代码 1.看似正确的错误代码1 with open(path, "r+") as f: f.seek(0) f.write(data) 确实是从头写了,而且有些原有数据确实在,但是数据有问题.... 因为"r+"方式写文件操作没有插入的语义,只有写文件的含义,原来

  • 利用Python对文件夹下图片数据进行批量改名的代码实例

    1. 前言 我们最近在做一个使用flask 模拟 instagram 的图片分享网站, 需要一些基本的图片数据, 我们这里采用的是本地提供, 但是,使用爬虫从网上爬下来的图片,名字都是乱七八糟的,不利于编程,这里就需要对他们进行批量改名操作. 2. 基本思路 使用python 的os 模块,对文件夹进行遍历(listdir), 同时使用rename 进行改名操作 3. 实现效果 4. 实现代码 代码非常简单 # -*- coding:utf8 -*- import os class BatchR

  • 利用python和百度地图API实现数据地图标注的方法

    如题,先上效果图: 主要分为两大步骤 使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用python语句,通过百度地图API,获取经纬度读取文件信息 import pandas as pd data = pd.read_excel('test_baidu.xlsx') data 图中可以看出,原始数据并没有经纬度. 2. 构建抓取经纬度函数 import json from urllib.request i

  • 利用python进行文件操作

    作者: wyh草样 出处:https://www.cnblogs.com/wyh0923/p/14084898.html 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非易失性存储器中实现持续性存储,比如在硬盘上.当我们要读取或者写入文件时,我们需要打开文件:在操作完毕时,我们需要关闭文件,以便释放和文件操作相关的系统资源,因此,文件操作的主要包括以下: 打开文件 读取或者写入 关闭文件 打开文件 Python使用内置的open()函数打开一个文件,并且返回

  • 利用Python多处理库处理3D数据详解

    今天我们将介绍处理大量数据时非常方便的工具.我不会只告诉您可能在手册中找到的一般信息,而是分享一些我发现的小技巧,例如tqdm与 multiprocessing​imap​​一起使用.并行处理档案.绘制和处理 3D 数据以及如何搜索如果您有点云,则用于对象网格中的类似对象.​ 那么我们为什么要求助于并行计算呢?如今,如果您处理任何类型的数据,您可能会面临与"大数据"相关的问题.每次我们有不适合 RAM 的数据时,我们都需要一块一块地处理它.幸运的是,现代编程语言允许我们生成在多核处理器

  • 利用Python对中国500强排行榜数据进行可视化分析

    目录 一.前言 二.数据采集 1.开始爬取 获取企业列表 获取企业对应url 获取每一个企业相关数据 2.保存到Excel 三.可视化分析 1.省份分布 导入相关可视化库 统计数据 地图可视化 2.营业收入年增率 3.营业收入年减率 4.利润年增率 5.利润年减率 6.排名上升最快20家企业 7.排名下降最快20家企业 8.资产区间分布 9.市值区间分布 10.营业收入区间分布 11.利润区间分布 12.中国500强企业-排名前10营业收入.利润.资产.市值.股东权益 四.总结 一.前言 今天来

  • 如何利用python在剪贴板上读取/写入数据

    目录 读取剪贴板上的数据 将数据写入剪贴板 补充:python 剪切板写入文件,产生随机数写入剪切板 总结 读取剪贴板上的数据 先给大家介绍pandas.read_clipboard,从剪贴板读取文本并传递到Read_csv. pandas.read_clipboard(sep='\\s+', **kwargs) 其中参数sep是字段定界符,默认为’\s+’,也就是说将tab和多个空格都当成一样的分隔符. 接下来执行操作,打开表格→选中数据Ctrl+C复制→再执行以下代码 import pand

  • python文件特定行插入和替换实例详解

    python文件特定行插入和替换实例详解 python提供了read,write,但和很多语言类似似乎没有提供insert.当然真要提供的话,肯定是可以实现的,但可能引入insert会带来很多其他问题,比如在插入过程中crash掉可能会导致后面的内容没来得及写回. 不过用fileinput可以简单实现在特定行插入的需求: Python代码 import os import fileinput def file_insert(fname,linenos=[],strings=[]): ""

  • php 在文件指定行插入数据的代码

    复制代码 代码如下: $arrInsert = insertContent("array.php", "abcdef", 3, 10); unlink("array.php"); foreach($arrInsert as $value) { file_put_contents("array.php", $value, FILE_APPEND); } function insertContent($source, $s, $i

  • 利用python对Excel中的特定数据提取并写入新表的方法

    最近刚开始学python,正好实习工作中遇到对excel中的数据进行处理的问题,就想到利用python来解决,也恰好练手. 实际的问题是要从excel表中提取日期.邮件地址和时间,然后统计在一定时间段内某个人在某个项目上用了多少时间,最后做成一张数据透视表(这是问题的大致意思). 首先要做的就是数据提取了,excel中本身有一个text to column的功能,但是对列中规律性不好的数据处理效果很差,不能分割出想要的数据,所以我果断选择用python来完成. 要用的库一个是对excel读写处理

随机推荐