使用python修改文件并立即写回到原始位置操作(inplace读写)
很多应用多需要处理文件,而处理文件有一个固定的模式:打开文件,读入一些数据,处理这些数据,打印到屏幕上或写入另一个文件。
那么,如果我们想修改之后立即写回文件,该怎么做呢?用什么模式打开?又怎么读写?
我个人尝试了很多中方法,不是无法实现,就是操作非常麻烦。最终放弃。
幸运的是,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在一个字符串中找到另外一个字符串并找到该字符起始的位置
代码详解
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中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3.函数用来删除一个文件:os.remove()4.删除多个目录:os.removedirs(r"c:\python")5.检验给出的路径是否是一个文件:os.path.isfile()6.检验给出的路径是否是一个目录:os.path.isdir()7.判断是
-
Python中文件的读取和写入操作
从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 with open('pi_digits.txt') as f: # 默认模式为'r',只读模式 contents = f.read() # 读取文件全部内容 print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行) print '
-
在Python程序中进行文件读取和写入操作的教程
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: >>> f =
-
简单文件操作python 修改文件指定行的方法
例一: 复制代码 代码如下: #!/usr/bin/pythonimport sysimport reif __name__=="__main__": f=file("hi.txt","w+") li=["hello\n","hi\n"] f.writelines(li) f.close() "W+"模式:如果没有hi.txt则创建文件写入:如果存在,则清空hi.txt内容,从新写入.
-
使用python修改文件并立即写回到原始位置操作(inplace读写)
很多应用多需要处理文件,而处理文件有一个固定的模式:打开文件,读入一些数据,处理这些数据,打印到屏幕上或写入另一个文件. 那么,如果我们想修改之后立即写回文件,该怎么做呢?用什么模式打开?又怎么读写? 我个人尝试了很多中方法,不是无法实现,就是操作非常麻烦.最终放弃. 幸运的是,Python内置模块fileinput就可以轻松完成.代码如下: import fileinput for line in fileinput.input(r"D:\1.txt", inplace=1): pr
-
Python修改文件往指定行插入内容的实例
需求:批量修改py文件中的类属性,为类增加一个core = True新的属性 原py文件如下 a.py class A(): description = "abc" 现在有一个1.txt文本,内容如下,如果有py文件中的description跟txt文本中的一样,则增加core属性 1.txt description = "abc" description = "123" 实现思路: 1.需要遍历code目录下的所有py文件,然后读取所有行数内容
-
python修改文件内容的3种方法详解
这篇文章主要介绍了python修改文件内容的3种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.修改原文件方式 def alter(file,old_str,new_str): """ 替换文件中的字符串 :param file:文件名 :param old_str:就字符串 :param new_str:新字符串 :return: """ file_data = "&qu
-
Python实现修改文件内容的方法分析
本文实例讲述了Python实现修改文件内容的方法.分享给大家供大家参考,具体如下: 1 替换文件中的一行 1.1 修改原文件 ① 要把文件中的一行Server=192.168.22.22中的IP地址替换掉,因此把整行替换. data = '' with open('zhai.conf', 'r+') as f: for line in f.readlines(): if(line.find('Server') == 0): line = 'Server=%s' % ('192.168.1.1',
-
python 两种方法修改文件的创建时间、修改时间、访问时间
突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle from win32file import GENERIC_READ, GENERIC_WRITE, OPEN_EXISTING from pywintypes import Time # 可以忽视这个 Time 报错(运行
-
python如何修改文件时间属性
1.获取文件的创建.修改.访问时间 # -*- encoding=utf-8 -*- import os import time def get_file_time(filename): filename = os.path.abspath(filename) create_time = os.path.getctime(filename) # 创建时间 print('old create time:{}'.format(time.strftime("%Y-%m-%d %H:%M:%S"
-
mac 系统下使用 chmod 命令修改文件权限
PC 端修改文件访问权限算是比较常用的操作,在安装部分软件时经常需要使用到.在 Mac 系统的终端上修改文件权限使用的是 Linux 中的 chmod 命令.这里详细介绍一下该命令的相关使用. 也可以直接通过 man chmod 在终端工具上查看该命令的帮助手册. 查看文件权限 ls -l 命令可以查看当前目录下所有文件的访问权限,也可以查看指定文件.比如,查看 Tomcat bin 目录中的 startup.sh 文件的访问权限时: yifeng:bin yifeng$ ls -l start
-
Python修改MP3文件的方法
本文实例讲述了Python修改MP3文件的方法.分享给大家供大家参考.具体如下: 用这个程序修改后的MP3比原来要小一些了,因为一张图片被删除了,起到了给MP3"瘦身"的作用.在一些mp3中,每个都有一张400多K的图片,10几个MP3,就相当一个普通MP3文件的大小了. # -*- coding: cp936 -*- """ 将MP3文件中的ID3V2.3部分去掉,以便在MP3机上播放 用法:mp3lcear [源mp3目录] [生成的mp3目录] &q
-
python批量修改文件夹及其子文件夹下的文件内容
前言:前几天我看一位同学要修改很多文件中的数据,该文件数据很规律,一行只有三个数,需要将每行最后一个数字改为负数,但文件有上千个,分布在每个文件夹下面以及它的多级子文件夹下,看他用excel手动改数据改的很痛苦,我突然想到用Python访问和操作文件,修改文件内容都很方便,于是在对Python不熟悉的情况下花了大半天写了下面的程序. 大概思路:先获取文件夹下所有文件名存在列表中,然后循环遍历访问文件内容,修改后写入新文件,考虑到还有子文件夹,这里用了递归的方法访问子文件夹的文件,最后修改完再把原
随机推荐
- 深入理解ajax系列第一篇之XHR对象
- 一行代码解决 perl输入 排序 输出问题
- windows无法启动MySQL服务报错1067的解决方法
- 利用types增强vscode中js代码提示功能详解
- IE6不能修改NAME问题的解决方法
- InnoDB数据库死锁问题处理
- 利用Docker制作Nginx+PHP镜像的步骤详解
- 浅析location.href跨窗口调用函数
- Node学习记录之cluster模块
- 使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
- 解析取模运算% 和位与运算& 之间的关系详解
- mssql中获取指定日期所在月份的第一天的代码
- toggle()隐藏问题的解决方法
- jQuery 自定义下拉框(DropDown)附源码下载
- 超精准的javascript验证身份证号的具体实现方法
- js中判断控件是否存在
- windwos下IIS日志时间问题的解决方法
- filezilla server 0_9_34 最新版完全安装指南
- C#枚举类型与结构类型实例解析
- DNSPark