python 之文本搜索与替换文件中的文本

 1 #!/usr/local/env python
 2 import os, sys
 3 nargs = len(sys.argv)
 4 if not 3 <= nargs <= 5:
 5     print "usage: %s search_text replace_text [inputfiel [outputfile]] " % os.path.basename(sys.argv[0]) #友好交互性提示
 6 else :
 7     stext = sys.argv[1] #获取当前环境参数 即为$search_text
 8     rtext = sys.argv[2]  #同上
 9     if nargs > 3:
10         input_file = open(sys.argv[3])
11     if nargs > 5:
12         output_file = open(sys.argv[4], ‘w‘)
13     for s in input_file:
14         output_file.write(s.replace(stext, rtext))
15  output_file.close() 16 input_file.close()

  由于我第一次执行时实在windows下的python gui中的shell命令行执行一直提示 SyntaxError: invalid syntax的错误,后来才发现是执行环境出问题了。

  主要实现功能为: 将文本内容serach_text替换成replace_text内容,如果有输入输出文件,则将inputfile中的search_text内容替换成replace_text内容,并将其输出到outputfile文件中。

  与大家共勉!

时间: 2024-10-01 07:45:58

python 之文本搜索与替换文件中的文本的相关文章

替换文件中的文本

大小写区分替换: 对于替换后出现编码的: 尝试模式而非纯文本: 替换跨行文本: 1>没有捕获空白 2> 使用$1捕获空白 替换大文件中的文本: 一些补充: get-content命令将文件的内容分割成多行: 可以使用[System.Io.File]::ReadAllText()方法将整个文本作为字符串赋给变量 \s* //匹配0个或多个空格   (?s)  //代表单行模式   $1 //捕获的空白内容 大文件中的替换:比如几百兆的文件 前面几种会加重内存负担,此时因采用单行读入的方式进行操作

用python 替换文件中的git地址

有个需求要替换文件中git地址,要替换成的git地址是一个变量 本来想用sed替换但是git地址中有斜杠符号 需要转义,提前知道还好弄,如果是变量就不好处理了 #!/usr/bin/python3 # -*- coding: utf-8 -*- #替换git地址 import os git_url = os.environ.get('git_url') git_old = os.environ.get('git_old') f = open('/tmp/oc_export.json','w',e

linux下使用vim替换文件中的^M换行符

在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题.最常见的就是出现^M . 我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开,内容没有换行.也就是所有文件内容都在一行.然后再实际换行的位置多了个^M. 下面的方法是网上搜的.其中dos2unix还有一个相对应的unix2dos 1.使用dos2unix命令.一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便: $ dos2unix myf

linux shell 脚本获取和替换文件中特定内容

1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) 1 timeout 1 2 default 0 3 4 title live 5 find --set-root /casper/vmlinuz 6 kernel /casper/vmlinuz boot=casper ignore_uuid showmounts ip=eth0,10.0.66.66,255.255.240.0,10.0.64.3 7

替换文件中的某个内容

#定义要查找的包含某个关键字的行(该关键字不是要替换的内容,比如此处要替换的是行 Hostname=10.4.20.20 中等号后面的内容)$keyword = "Hostname"#定义要替换后的内容$newword = "10.4.20.20"$filepath = "C:\zabbix_agent\conf\zabbix_agentd.win.conf" Function SearchReplace ($keyword,$newword,$

用python读取带密码的excel文件中的数据

用python读取带密码的excel文件中的数据,程序代码如下: #filename:readingxls.py ''' 此程序的作用为:用python读取带密码的excel文件中的数据. 首先通过pip安装xlrd第三方库 pip3 install xlrd 请输入excel文件路径:D:\x1.xls ''' import xlrd path=input("请输入excel文件路径:") workbook=xlrd.open_workbook(path) b=len(workboo

python 小程序,替换文件中的字符串

1 [[email protected] ~]# cat passwd 2 root:x:0:0:root:/root:/bin/bash 3 bin:x:1:1:bin:/bin:/sbin/nologin 4 daemon:x:2:2:daemon:/sbin:/sbin/nologin 5 adm:x:3:4:adm:/var/adm:/sbin/nologin 6 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 7 sync:x:5:0:sync:/sb

python文本处理---计算fasta文件中不同氨基酸的数目

#::!/usr/bin/python3 #-*- coding:utf-8 -*- #计算fasta文件中各个氨基酸的含量 import sys args=sys.argv f=open(args[1], 'r') fw=open('out.txt', 'w') line=f.read() txt=''.join(line.split('\n')[1:]) #可以得到氨基酸序列 #构建了各个氨基酸和含量的字典 ##注意collections模块中Counter的用法 from collecti

替换文件中的相关单词(一)之文件类型为txt

首先说一下具体的实现思路: 第一步:我们需要获取要修改文件的信息,我们可以通过文件的路径来获取文件的FileInputStream,即文件的输入流,然后调用InputStreamReader读取文件输入流信息,将读入的信息保存到BufferedReader(BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取.)然后通过readLine()函数将流的信息读取出来,这样就完成了第一步,我们能获取到文件的信息了 第二步:能够读取文件的信息了,我们就可以