Python_Sed功能实现

#本脚本通过执行python脚本(3.0),实现shell的sed字符串替换功能

  1. #!/usr/bin/env python
  2.     # -*- UTF-8 -*-
  3.     # Author:Jerry

  4.     import sys
  5.     import os
  6.     import shutil

  7.     parameters=sys.argv
  8.     if len(parameters) !=4:
  9.         sys.exit("usage:sed.py old_text new_text file_name")
  10.     else:
  11.         py_scripts,old_text,new_text,file_name=parameters
  12.         if not os.path.exists(file_name):
  13.             sys.exit("文件 %s 不存在" % file_name)
  14.         else:
  15.             if os.path.isabs(file_name):
  16.                file_full_name=file_name
  17.             else:
  18.                file_full_name=os.path.realpath(file_name)

  19.     file_name=os.path.basename(file_full_name)
  20.     file_path=os.path.dirname(file_full_name)
  21.     backup_file=os.path.splitext(file_name)[0]+"_bak"+os.path.splitext(file_name)[1]
  22.     backup_file_name=file_path+os.path.sep+backup_file

  23.     shutil.copy(file_full_name,backup_file_name)

  24.     with open(file_full_name,'w',encoding='utf-8') as f,open(backup_file_name,'r',encoding='utf-8') as bak:
  25.         for line in bak:
  26.             f.write(line.replace(old_text,new_text))
  27.     file=open(file_full_name,'r',encoding='utf-8')
  28.     for i in file:
  29.         print(i.strip())
  30.     file.close()


请使用浏览器的分享功能分享到微信等