使用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正则表达式的使用范例详解
Aug 08 Python
Python利用多进程将大量数据放入有限内存的教程
Apr 01 Python
浅析Python编写函数装饰器
Mar 18 Python
python语言使用技巧分享
May 31 Python
使用pycharm生成代码模板的实例
May 23 Python
基于Python对数据shape的常见操作详解
Dec 25 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
Python实现京东秒杀功能代码
May 16 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
python遍历文件目录、批量处理同类文件
Aug 31 Python
python海龟绘图之画国旗实例代码
Nov 11 Python
有趣的二维码:使用MyQR和qrcode来制作二维码
May 10 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
js 自定义的联动下拉框
2010/02/07 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
js获取对象为null的解决方法
2013/11/21 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
React Native验证码倒计时工具类分享
2017/10/24 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
Vue——解决报错 Computed property "****" was assigned to but it has no setter.
2020/12/19 Vue.js
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
Django自定义分页效果
2017/06/27 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
python判断链表是否有环的实例代码
2020/01/31 Python
Django models filter筛选条件详解
2020/03/16 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
关于毕业的中学校园广播稿
2014/01/26 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
校运会入场式解说词
2014/02/10 职场文书
个人安全承诺书
2014/05/22 职场文书
关于 Python json中load和loads区别
2021/11/07 Python
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server