使用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写的Discuz7.2版faq.php注入漏洞工具
Aug 06 Python
Python实现全角半角转换的方法
Aug 18 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
python执行CMD指令,并获取返回的方法
Dec 19 Python
Python基础教程之异常详解
Jan 10 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
Jan 29 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
Django model update的多种用法介绍
Mar 28 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
Python执行时间的几种计算方法
Jul 31 Python
selenium+python实现基本自动化测试的示例代码
Jan 27 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
如何使用脚本模仿登陆过程
2006/11/22 PHP
mysq GBKl乱码
2006/11/28 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
php实现的美国50个州选择列表实例
2015/04/20 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
vue2项目使用sass的示例代码
2017/06/28 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
用Python实现一个简单的线程池
2015/04/07 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
民事申诉状范本
2015/05/20 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript