首页 > 代码库 > Day2课后作业:sed替换程序

Day2课后作业:sed替换程序

#!/usr/bin/env python

#_*_conding:utf-8_*_

import sys,os

old_file = sys.argv[1]

new_file = sys.argv[2]

file_path = sys.argv[3]

f = open(file_path,"r")

f1 = open("xiugai","w")

for i in f:
if old_file in i:

i=i.replace(old_file,new_file)
f1.write(i)
# f1.flush()

f.close()

f1.close()

os.remove(file_path)

os.rename("xiugai",file_path)

说明:

1,在linux环境里实现的,声明环境变量python
2,虽然pyrhon3自带utf-8,再次申明一下。
3,加载模块sys,os
4,定义变量old_file,new_file,file_path,分别表示需要修改的文件内容,新的内容,和提供需要修改的文件
5,定义一个变量f,赋值为读原文件
6,定义加载到内存一个新文件f1
7,使用嵌套循环:
当某行在这个原文件中就循环,外循环
当某字符串在这行时就循环,内循环
并且加载replace函数,修改文件
8,给fi文件内写入内容,如果没有修改的就直接写入,有修改的就修改后写入
9,保存
10,删除原来的文件
11,把新文件改名为原来的文件名

流控图:

技术分享

Day2课后作业:sed替换程序