使用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实现读取目录所有文件的文件名并保存到txt文件代码
Nov 22 Python
用Python编写分析Python程序性能的工具的教程
Apr 01 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
Dec 03 Python
利用Python实现原创工具的Logo与Help
Dec 03 Python
python实现贪吃蛇小游戏
Mar 21 Python
10招!看骨灰级Pythoner玩转Python的方法
Apr 15 Python
python数值基础知识浅析
Nov 19 Python
Python2和Python3中@abstractmethod使用方法
Feb 04 Python
python序列类型种类详解
Feb 26 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
Django DRF认证组件流程实现原理详解
Aug 17 Python
python跨文件使用全局变量的实现
Nov 17 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 高手之路(二)
2006/10/09 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
ant design vue中表格指定格式渲染方式
2020/10/28 Javascript
Python字符串和字典相关操作的实例详解
2017/09/23 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
Python闭包函数定义与用法分析
2018/07/20 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
黄金搭档广告词
2014/03/21 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers
详解Java实践之适配器模式
2021/06/18 Java/Android