首页 > 代码库 > python cookbook —— Searching and Replacing Text in a File
python cookbook —— Searching and Replacing Text in a File
要将文件中的某一个字符串替换为另一个,然后写入一个新文件中:
首先判断输入格式,至少需要输入被搜索的Text和替换的Text,输入输出文件可以是存在的文件,也可以是标准输入输出流
(os.path是个好东西)
import os, sys nargs = len(sys.argv) if not 3 <= nargs <= 5: print "usage: %s search_text replace_text [infile [outfile]]" % os.path.basename(sys.argv[0])
设置默认输入输出文件为标准输入输出流:执行替换的语句十分简单:
else: stext = sys.argv[1] rtext = sys.argv[2] input_file = sys.stdin output_file = sys.stdout if nargs > 3: input_file = open(sys.argv[3]) if nargs > 4: output_file = open(sys.argv[4], ‘w‘) for s in input_file: output_file.write(s.replace(stext, rtext))
最后不要忘了关闭文件:
output_file.close()
input_file.close()
如果使用标准的输入输出流,Mac下结束输入时按Ctrl+D(本人开始时习惯性犯二,折腾了很久不知怎么结束输入 -_-!)
如果读写的文件不是很大的话(一般大小的文件,现在的内存完全可以整个读进来)
那么处理起来可以更加简便:
output_file.write(input_file.read().replace(stext, rtext))
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。