码迷,mamicode.com
首页 > 编程语言 > 详细

python cookbook —— Searching and Replacing Text in a File

时间:2014-05-25 16:07:07      阅读:315      评论:0      收藏:0      [点我收藏+]

标签: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])

设置默认输入输出文件为标准输入输出流:执行替换的语句十分简单:

bubuko.com,布布扣
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))
bubuko.com,布布扣

最后不要忘了关闭文件:

    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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!