使用python修改文件并立即写回到原始位置操作(inplace读写)


Posted in Python onJune 28, 2020

很多应用多需要处理文件,而处理文件有一个固定的模式:打开文件,读入一些数据,处理这些数据,打印到屏幕上或写入另一个文件。

那么,如果我们想修改之后立即写回文件,该怎么做呢?用什么模式打开?又怎么读写?

我个人尝试了很多中方法,不是无法实现,就是操作非常麻烦。最终放弃。

幸运的是,Python内置模块fileinput就可以轻松完成。代码如下:

import fileinput
for line in fileinput.input(r"D:\1.txt", inplace=1):
  print line.replace('d', 'b'),

足够简单吧。(将文件中的‘d'替换成'b')。

关于更多fileinput的资料,在这里http://docs.python.org/library/fileinput.html

补充知识:python在一个字符串中找到另外一个字符串并找到该字符起始的位置

使用python修改文件并立即写回到原始位置操作(inplace读写)

代码详解

def index_of_str(seq, sub_seq):
  index=[]
  n1=len(seq)
  n2=len(sub_seq)
  for i in range(n1-n2+1):
    #print('seq==%s' % (seq[i:i + n2]))
    if seq[i:i+n2]==sub_seq:
      #print('seq==%s'%(seq[i:i+n2]))
      index.append(i+1)
  print(index)
index_of_str('ATGATAGAGGGATACGGGATAG', 'GATA')
 
def index_of_str(s1, s2):
  global dex
  dex=0
  index=[]
  lt=s1.split(s2)
  print(lt)
  num=len(lt)
  for i in range(num-1):
    dex+=len(lt[i])
    index.append(dex)
    dex+=len(s2)
  print(index)
  #if len(lt)==1:
    #return -1
  #return len(lt[0])
print(index_of_str('ATGATAGAGGGATACGGGATAG', 'GATA'))

以上这篇使用python修改文件并立即写回到原始位置操作(inplace读写)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
Python易忽视知识点小结
May 25 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
解决每次打开pycharm直接进入项目的问题
Oct 28 Python
python 接口实现 供第三方调用的例子
Aug 13 Python
python中删除某个元素的方法解析
Nov 05 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
Python魔术方法专题
Jun 19 Python
Python下opencv库的安装过程及问题汇总
Jun 11 Python
python图像处理 PIL Image操作实例
Apr 09 Python
python删除指定列或多列单个或多个内容实例
Jun 28 #Python
Python3实现建造者模式的示例代码
Jun 28 #Python
Python工程师必考的6个经典面试题
Jun 28 #Python
Python drop方法删除列之inplace参数实例
Jun 27 #Python
对python pandas中 inplace 参数的理解
Jun 27 #Python
浅谈PyTorch中in-place operation的含义
Jun 27 #Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
Jun 27 #Python
You might like
PHP 和 MySQL 基础教程(二)
2006/10/09 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
初始Nodejs
2014/11/08 NodeJs
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
ng-repeat指令在迭代对象时的去重方法
2018/10/02 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
Python的垃圾回收机制深入分析
2014/07/16 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
浅谈django的render函数的参数问题
2018/10/16 Python
python实现简单日期工具类
2019/04/24 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
Python实现仿射密码的思路详解
2020/04/23 Python
财务会计人员求职的自我评价
2014/01/13 职场文书
初婚未育证明
2014/01/15 职场文书
公司收款委托书范本
2014/09/20 职场文书
个人整改方案范文
2014/10/25 职场文书
酒会邀请函
2015/01/31 职场文书
初三语文教学反思
2016/03/03 职场文书
经销商会议开幕词
2016/03/04 职场文书
2016年中学清明节活动总结
2016/04/01 职场文书
详解php中流行的rpc框架
2021/05/29 PHP