使用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使用arp欺骗伪造网关的方法
Apr 24 Python
Python实现基于权重的随机数2种方法
Apr 28 Python
在Django中进行用户注册和邮箱验证的方法
May 09 Python
学习python的前途 python挣钱
Feb 27 Python
Pandas库之DataFrame使用的学习笔记
Jun 21 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
python time.sleep()是睡眠线程还是进程
Jul 09 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
python sqlite的Row对象操作示例
Sep 11 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
Apr 24 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
Python项目跨域问题解决方案
Jun 22 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
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
node.js的http.createServer过程深入解析
2019/06/06 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python通过floor函数舍弃小数位的方法
2015/03/17 Python
python 文件操作删除某行的实例
2017/09/04 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
材料化学应届生求职信
2013/10/09 职场文书
安全生产大检查方案
2014/05/07 职场文书
集体生日活动方案
2014/08/18 职场文书
八年级英语教学计划
2015/01/23 职场文书
2015年妇女工作总结
2015/05/14 职场文书
比赛主持人开场白
2015/05/29 职场文书
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python