ITPub博客

首页 > 应用开发 > IT综合 > 单引号和双引号

单引号和双引号

原创 IT综合 作者:wq_brilliant 时间:2014-12-29 21:50:44 0 删除 编辑
Python Cookbook 2nd Edition,Recipe 2.3. Searching and Replacing Text in a File

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( )   #书中代码跑不了,没有output          
input_file.close( )     #有input,但是input没有attribute“close”         

测试代码
input.txt
abcdefg
abcdefg
abcdefg
abcdefg

用"AB"代替"ab"
    >python p.py 'ab' 'AB' "input.txt" "output.txt"

output.txt
abcdefg
abcdefg
abcdefg
abcdefg

失败了。
   >python p.py "ab" "AB" "input.txt" "output.txt"

再来看
output.txt

ABcdefg
ABcdefg
ABcdefg
ABcdefg

在output_file.write(s.replace(stext, rtext)) 前插入
>print s.find(stext) #stext='ab'

返回-1,没找到。
为什么呢?              
         

      

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29000138/viewspace-1384301/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: python challenge 0
请登录后发表评论 登录
全部评论

注册时间:2014-12-27

  • 博文量
    6
  • 访问量
    3338