标签:
1 root@python-10:/home/liujianzuo/python/test# ls 2 passwd rc.local test1 3 root@python-10:/home/liujianzuo/python/test# py test1 -r EXIT exit /home/liujianzuo/python/test/rc.local 4 共修改了0行。 5 root@python-10:/home/liujianzuo/python/test# py test1 -r exit EXIT /home/liujianzuo/python/test/rc.local 6 7 the new line is : 8 第 6 行 : # Make sure that the script will "EXIT 0" on success or any other 9 the word was replaced is : exit==>EXIT 10 11 12 the new line is : 13 第 16 行 : EXIT 0 14 the word was replaced is : exit==>EXIT 15 16 共修改了2行。 17 root@python-10:/home/liujianzuo/python/test# cat test1 18 #coding:utf-8 19 #!/usr/bin/env python 20 21 import sys,os,subprocess 22 #a="liujianzuo" 23 if len(sys.argv) < 5: 24 exit("argc less than 4;like python test.py -r 准备替换的字符 要替换的字符 file_path_name") 25 26 if ‘-r‘ in sys.argv: 27 ar1=sys.argv.index(‘-r‘) 28 ar2=sys.argv[ar1+ 1] 29 ar3=sys.argv[ar1 + 2] 30 filname= sys.argv[ar1 + 3] 31 else: 32 exit("the first argv must be -r ") 33 basedir = "%s/%s"%(os.path.dirname(filname),os.path.basename(filname)) 34 f=file(‘%s‘%basedir,"r+") 35 sum1=0 36 numli=0 37 while True: 38 line=f.readline() 39 numli+=1 40 #print line 41 if ar2 in line: 42 # print "now pos+++>",f.tell() 43 f.seek(f.tell()-len(line)) 44 #print f.tell() 45 new_line=line.replace(ar2,ar3) 46 f.write(new_line) 47 print """ 48 \033[31;1mthe new line is :\033[0m 49 第 %s 行 : %s 50 the word was replaced is : \033[32;1m%s==>%s\033[0m 51 """ % (numli,new_line.strip(),ar2,ar3) 52 sum1+=1 53 continue 54 if line == "": 55 print "file is done bye" 56 break 58 elif line == "": 59 break 60 print "\033[33;1m 共修改了%s行。\033[0m"%sum1 61 f.close()
标签:
原文地址:http://www.cnblogs.com/liujianzuo888/p/5193267.html