蔷薇525 发表于 2018-8-12 08:05:14

Python替换文件内容(文件处理)

#!/usr/bin/env python  
#_*_ coding:utf-8 _*_
  
import sys,os
  

  
#小于四个位置变量则退出脚本
  
if len(sys.argv) <4:
  
    print "useage: ./file_replace.py old_text new_text filename"
  
    sys.exit()
  

  
#设置三个位置变量
  
old_text,new_text = sys.argv,sys.argv
  
file_name = sys.argv
  

  
#设置原文件可读,新文件可写
  
f = file(file_name,'rb')
  
new_file = file('.%s.bak' % file_name,'wb')
  

  
#把替换内容写入新文件
  
for line in f.xreadlines():
  
    new_file.write(line.replace(old_text,new_text))
  

  
#关闭文件
  
f.close()
  
new_file.close()
  

  
#--bak判断用户需不需要先备份再修改文件
  
if '--bak' in sys.argv:
  

  
    #加上--bak就备份原文件
  
    os.rename(file_name, '%s.bak' %file_name)   #原文件备份为xx.bak
  
    os.rename('.%s.bak' %file_name , file_name) #替换的新文件改为xx
  

  
else:
  

  
    #不加--bak替换后的新文件直接复盖原文件
  
    os.rename('.%s.bak' %file_name , file_name)
页: [1]
查看完整版本: Python替换文件内容(文件处理)