标签:style class blog c code java
要将文件中的某一个字符串替换为另一个,然后写入一个新文件中:
首先判断输入格式,至少需要输入被搜索的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))
python cookbook —— Searching and Replacing Text in a File,布布扣,bubuko.com
python cookbook —— Searching and Replacing Text in a File
标签:style class blog c code java
原文地址:http://www.cnblogs.com/travelling-idiot/p/3750893.html